b2ba348a444a5b9dcea8e544e08cc9a338b49774
[ccsdk/cds.git] /
1 {
2   "node_types": {
3     "component-jython-executor": {
4       "description": "This is Jython Execution Component.",
5       "version": "1.0.0",
6       "capabilities": {
7         "component-node": {
8           "type": "tosca.capabilities.Node"
9         }
10       },
11       "interfaces": {
12         "ComponentJythonExecutor": {
13           "operations": {
14             "process": {
15               "inputs": {
16                 "instance-dependencies": {
17                   "description": "Instance Names to Inject to Jython Script.",
18                   "required": true,
19                   "type": "list",
20                   "entry_schema": {
21                     "type": "string"
22                   }
23                 }
24               },
25               "outputs": {
26                 "response-data": {
27                   "description": "Execution Response Data in JSON format.",
28                   "required": false,
29                   "type": "string"
30                 },
31                 "status": {
32                   "description": "Status of the Component Execution ( success or failure )",
33                   "required": true,
34                   "type": "string"
35                 }
36               }
37             }
38           }
39         }
40       },
41       "derived_from": "tosca.nodes.component.Jython"
42     },
43     "component-netconf-executor": {
44       "description": "This is Netconf Transaction Configuration Component API",
45       "version": "1.0.0",
46       "capabilities": {
47         "component-node": {
48           "type": "tosca.capabilities.Node"
49         }
50       },
51       "requirements": {
52         "netconf-connection": {
53           "capability": "netconf",
54           "node": "vnf-netconf-device",
55           "relationship": "tosca.relationships.ConnectsTo"
56         }
57       },
58       "interfaces": {
59         "ComponentNetconfExecutor": {
60           "operations": {
61             "process": {
62               "inputs": {
63                 "script-type": {
64                   "description": "Script type, kotlin type is supported",
65                   "required": true,
66                   "type": "string",
67                   "constraints": [
68                     {
69                       "valid_values": [
70                         "kotlin",
71                         "jython",
72                         "internal"
73                       ]
74                     }
75                   ],
76                   "default": "internal"
77                 },
78                 "script-class-reference": {
79                   "description": "Kotlin Script class name or jython script name.",
80                   "required": true,
81                   "type": "string"
82                 },
83                 "instance-dependencies": {
84                   "description": "Instance names to inject to Jython or Kotlin Script.",
85                   "required": true,
86                   "type": "list",
87                   "entry_schema": {
88                     "type": "string"
89                   }
90                 }
91               },
92               "outputs": {
93                 "response-data": {
94                   "description": "Execution Response Data in JSON format.",
95                   "required": false,
96                   "type": "string"
97                 },
98                 "status": {
99                   "description": "Status of the Component Execution ( success or failure )",
100                   "required": true,
101                   "type": "string"
102                 }
103               }
104             }
105           }
106         }
107       },
108       "derived_from": "tosca.nodes.Component"
109     },
110     "component-resource-resolution": {
111       "description": "This is Resource Assignment Component API",
112       "version": "1.0.0",
113       "attributes": {
114         "assignment-params": {
115           "required": true,
116           "type": "string"
117         }
118       },
119       "capabilities": {
120         "component-node": {
121           "type": "tosca.capabilities.Node"
122         }
123       },
124       "interfaces": {
125         "ResourceResolutionComponent": {
126           "operations": {
127             "process": {
128               "inputs": {
129                 "resource-type": {
130                   "description": "Request type.",
131                   "required": false,
132                   "type": "string"
133                 },
134                 "artifact-prefix-names": {
135                   "description": "Template , Resource Assignment Artifact Prefix names",
136                   "required": true,
137                   "type": "list",
138                   "entry_schema": {
139                     "type": "string"
140                   }
141                 },
142                 "request-id": {
143                   "description": "Request Id, Unique Id for the request.",
144                   "required": true,
145                   "type": "string"
146                 },
147                 "resource-id": {
148                   "description": "Resource Id.",
149                   "required": false,
150                   "type": "string"
151                 },
152                 "action-name": {
153                   "description": "Action Name of the process",
154                   "required": false,
155                   "type": "string"
156                 }
157               },
158               "outputs": {
159                 "resource-assignment-params": {
160                   "required": true,
161                   "type": "string"
162                 },
163                 "status": {
164                   "required": true,
165                   "type": "string"
166                 }
167               }
168             }
169           }
170         }
171       },
172       "derived_from": "tosca.nodes.Component"
173     },
174     "dg-generic": {
175       "description": "This is Generic Directed Graph Type",
176       "version": "1.0.0",
177       "properties": {
178         "content": {
179           "required": true,
180           "type": "string"
181         },
182         "dependency-node-templates": {
183           "description": "Dependent Step Components NodeTemplate name.",
184           "required": true,
185           "type": "list",
186           "entry_schema": {
187             "type": "string"
188           }
189         }
190       },
191       "derived_from": "tosca.nodes.DG"
192     },
193     "source-input": {
194       "description": "This is Input Resource Source Node Type",
195       "version": "1.0.0",
196       "properties": {
197         "key": {
198           "required": false,
199           "type": "string"
200         },
201         "key-dependencies": {
202           "required": true,
203           "type": "list",
204           "entry_schema": {
205             "type": "string"
206           }
207         }
208       },
209       "derived_from": "tosca.nodes.ResourceSource"
210     },
211     "source-primary-db": {
212       "description": "This is Database Resource Source Node Type",
213       "version": "1.0.0",
214       "properties": {
215         "type": {
216           "required": true,
217           "type": "string",
218           "constraints": [
219             {
220               "valid_values": [
221                 "SQL",
222                 "PLSQL"
223               ]
224             }
225           ]
226         },
227         "endpoint-selector": {
228           "required": false,
229           "type": "string"
230         },
231         "query": {
232           "required": true,
233           "type": "string"
234         },
235         "input-key-mapping": {
236           "required": false,
237           "type": "map",
238           "entry_schema": {
239             "type": "string"
240           }
241         },
242         "output-key-mapping": {
243           "required": false,
244           "type": "map",
245           "entry_schema": {
246             "type": "string"
247           }
248         },
249         "key-dependencies": {
250           "required": true,
251           "type": "list",
252           "entry_schema": {
253             "type": "string"
254           }
255         }
256       },
257       "derived_from": "tosca.nodes.ResourceSource"
258     },
259     "source-rest": {
260       "description": "This is Rest Resource Source Node Type",
261       "version": "1.0.0",
262       "properties": {
263         "type": {
264           "required": false,
265           "type": "string",
266           "constraints": [
267             {
268               "valid_values": [
269                 "JSON"
270               ]
271             }
272           ],
273           "default": "JSON"
274         },
275         "endpoint-selector": {
276           "required": false,
277           "type": "string"
278         },
279         "url-path": {
280           "required": true,
281           "type": "string"
282         },
283         "path": {
284           "required": true,
285           "type": "string"
286         },
287         "expression-type": {
288           "required": false,
289           "type": "string",
290           "constraints": [
291             {
292               "valid_values": [
293                 "JSON_PATH",
294                 "JSON_POINTER"
295               ]
296             }
297           ],
298           "default": "JSON_PATH"
299         },
300         "input-key-mapping": {
301           "required": false,
302           "type": "map",
303           "entry_schema": {
304             "type": "string"
305           }
306         },
307         "output-key-mapping": {
308           "required": false,
309           "type": "map",
310           "entry_schema": {
311             "type": "string"
312           }
313         },
314         "key-dependencies": {
315           "required": true,
316           "type": "list",
317           "entry_schema": {
318             "type": "string"
319           }
320         }
321       },
322       "derived_from": "tosca.nodes.ResourceSource"
323     },
324     "tosca.nodes.Component": {
325       "description": "This is default Component Node",
326       "version": "1.0.0",
327       "derived_from": "tosca.nodes.Root"
328     },
329     "tosca.nodes.DG": {
330       "description": "This is Directed Graph Node Type",
331       "version": "1.0.0",
332       "derived_from": "tosca.nodes.Root"
333     },
334     "tosca.nodes.ResourceSource": {
335       "description": "TOSCA base type for Resource Sources",
336       "version": "1.0.0",
337       "derived_from": "tosca.nodes.Root"
338     },
339     "tosca.nodes.Vnf": {
340       "description": "This is VNF Node Type",
341       "version": "1.0.0",
342       "derived_from": "tosca.nodes.Root"
343     },
344     "tosca.nodes.component.Jython": {
345       "description": "This is Jython Component",
346       "version": "1.0.0",
347       "derived_from": "tosca.nodes.Root"
348     },
349     "vnf-netconf-device": {
350       "description": "This is VNF Device with Netconf  Capability",
351       "version": "1.0.0",
352       "capabilities": {
353         "netconf": {
354           "type": "tosca.capabilities.Netconf",
355           "properties": {
356             "login-key": {
357               "required": true,
358               "type": "string",
359               "default": "sdnc"
360             },
361             "login-account": {
362               "required": true,
363               "type": "string",
364               "default": "sdnc-tacacs"
365             },
366             "source": {
367               "required": false,
368               "type": "string",
369               "default": "npm"
370             },
371             "target-ip-address": {
372               "required": true,
373               "type": "string"
374             },
375             "port-number": {
376               "required": true,
377               "type": "integer",
378               "default": 830
379             },
380             "connection-time-out": {
381               "required": false,
382               "type": "integer",
383               "default": 30
384             }
385           }
386         }
387       },
388       "derived_from": "tosca.nodes.Vnf"
389     }
390   }
391 }