6de1fe320abbb96f471084f1269f187baea90e58
[ccsdk/cds.git] /
1 {
2   "node_types": {
3     "component-script-executor": {
4       "description": "This is CLI Transaction Configuration Component API",
5       "version": "1.0.0",
6       "capabilities": {
7         "component-node": {
8           "type": "tosca.capabilities.Node"
9         }
10       },
11       "interfaces": {
12         "ComponentScriptExecutor": {
13           "operations": {
14             "process": {
15               "inputs": {
16                 "script-type": {
17                   "description": "Script type, kotlin type is supported",
18                   "required": true,
19                   "type": "string",
20                   "constraints": [
21                     {
22                       "valid_values": [
23                         "kotlin",
24                         "jython",
25                         "internal"
26                       ]
27                     }
28                   ],
29                   "default": "internal"
30                 },
31                 "script-class-reference": {
32                   "description": "Kotlin Script class name or jython script name.",
33                   "required": true,
34                   "type": "string"
35                 },
36                 "dynamic-properties": {
37                   "description": "Dynamic Json Content or DSL Json reference.",
38                   "required": false,
39                   "type": "json"
40                 }
41               },
42               "outputs": {
43                 "response-data": {
44                   "description": "Execution Response Data.",
45                   "required": false,
46                   "type": "string"
47                 },
48                 "status": {
49                   "description": "Status of the Component Execution ( success or failure )",
50                   "required": true,
51                   "type": "string"
52                 }
53               }
54             }
55           }
56         }
57       },
58       "derived_from": "tosca.nodes.Component"
59     },
60     "component-jython-executor": {
61       "description": "This is Jython Execution Component.",
62       "version": "1.0.0",
63       "capabilities": {
64         "component-node": {
65           "type": "tosca.capabilities.Node"
66         }
67       },
68       "interfaces": {
69         "ComponentJythonExecutor": {
70           "operations": {
71             "process": {
72               "inputs": {
73                 "instance-dependencies": {
74                   "description": "Instance Names to Inject to Jython Script.",
75                   "required": true,
76                   "type": "list",
77                   "entry_schema": {
78                     "type": "string"
79                   }
80                 },
81                 "dynamic-properties": {
82                   "description": "Dynamic Json Content or DSL Json reference.",
83                   "required": false,
84                   "type": "json"
85                 }
86               },
87               "outputs": {
88                 "response-data": {
89                   "description": "Execution Response Data in JSON format.",
90                   "required": false,
91                   "type": "string"
92                 },
93                 "status": {
94                   "description": "Status of the Component Execution ( success or failure )",
95                   "required": true,
96                   "type": "string"
97                 }
98               }
99             }
100           }
101         }
102       },
103       "derived_from": "tosca.nodes.Component"
104     },
105     "component-netconf-executor": {
106       "description": "This is Netconf Transaction Configuration Component API",
107       "version": "1.0.0",
108       "capabilities": {
109         "component-node": {
110           "type": "tosca.capabilities.Node"
111         }
112       },
113       "requirements": {
114         "netconf-connection": {
115           "capability": "netconf",
116           "node": "vnf-netconf-device",
117           "relationship": "tosca.relationships.ConnectsTo"
118         }
119       },
120       "interfaces": {
121         "ComponentNetconfExecutor": {
122           "operations": {
123             "process": {
124               "inputs": {
125                 "script-type": {
126                   "description": "Script type, kotlin type is supported",
127                   "required": true,
128                   "type": "string",
129                   "constraints": [
130                     {
131                       "valid_values": [
132                         "kotlin",
133                         "jython",
134                         "internal"
135                       ]
136                     }
137                   ],
138                   "default": "internal"
139                 },
140                 "script-class-reference": {
141                   "description": "Kotlin Script class name or jython script name.",
142                   "required": true,
143                   "type": "string"
144                 },
145                 "instance-dependencies": {
146                   "description": "Instance names to inject to Jython or Kotlin Script.",
147                   "required": true,
148                   "type": "list",
149                   "entry_schema": {
150                     "type": "string"
151                   }
152                 },
153                 "dynamic-properties": {
154                   "description": "Dynamic Json Content or DSL Json reference.",
155                   "required": false,
156                   "type": "json"
157                 }
158               },
159               "outputs": {
160                 "response-data": {
161                   "description": "Execution Response Data in JSON format.",
162                   "required": false,
163                   "type": "string"
164                 },
165                 "status": {
166                   "description": "Status of the Component Execution ( success or failure )",
167                   "required": true,
168                   "type": "string"
169                 }
170               }
171             }
172           }
173         }
174       },
175       "derived_from": "tosca.nodes.Component"
176     },
177     "component-resource-resolution": {
178       "description": "This is Resource Assignment Component API",
179       "version": "1.0.0",
180       "attributes": {
181         "assignment-params": {
182           "required": true,
183           "type": "string"
184         }
185       },
186       "capabilities": {
187         "component-node": {
188           "type": "tosca.capabilities.Node"
189         }
190       },
191       "interfaces": {
192         "ResourceResolutionComponent": {
193           "operations": {
194             "process": {
195               "inputs": {
196                 "resolution-key": {
197                   "description": "Key for service instance related correlation.",
198                   "required": false,
199                   "type": "string"
200                 },
201                 "occurrence": {
202                   "description": "Number of time to perform the resolution.",
203                   "required": false,
204                   "default": 1,
205                   "type": "integer"
206                 },
207                 "store-result": {
208                   "description": "Whether or not to store the output.",
209                   "required": false,
210                   "type": "boolean"
211                 },
212                 "resource-type": {
213                   "description": "Request type.",
214                   "required": false,
215                   "type": "string"
216                 },
217                 "artifact-prefix-names": {
218                   "required": true,
219                   "description": "Template , Resource Assignment Artifact Prefix names",
220                   "type": "list",
221                   "entry_schema": {
222                     "type": "string"
223                   }
224                 },
225                 "request-id": {
226                   "description": "Request Id, Unique Id for the request.",
227                   "required": true,
228                   "type": "string"
229                 },
230                 "resource-id": {
231                   "description": "Resource Id.",
232                   "required": false,
233                   "type": "string"
234                 },
235                 "action-name": {
236                   "description": "Action Name of the process",
237                   "required": false,
238                   "type": "string"
239                 },
240                 "dynamic-properties": {
241                   "description": "Dynamic Json Content or DSL Json reference.",
242                   "required": false,
243                   "type": "json"
244                 }
245               },
246               "outputs": {
247                 "resource-assignment-params": {
248                   "required": true,
249                   "type": "string"
250                 },
251                 "status": {
252                   "required": true,
253                   "type": "string"
254                 }
255               }
256             }
257           }
258         }
259       },
260       "derived_from": "tosca.nodes.Component"
261     },
262     "component-restconf-executor": {
263       "description": "This is Restconf Transaction Configuration Component API",
264       "version": "1.0.0",
265       "capabilities": {
266         "component-node": {
267           "type": "tosca.capabilities.Node"
268         }
269       },
270       "interfaces": {
271         "ComponentRestconfExecutor": {
272           "operations": {
273             "process": {
274               "inputs": {
275                 "script-type": {
276                   "description": "Script type, kotlin type is supported",
277                   "required": true,
278                   "type": "string",
279                   "constraints": [
280                     {
281                       "valid_values": [
282                         "kotlin",
283                         "jython",
284                         "internal"
285                       ]
286                     }
287                   ],
288                   "default": "internal"
289                 },
290                 "script-class-reference": {
291                   "description": "Kotlin Script class name or jython script name.",
292                   "required": true,
293                   "type": "string"
294                 },
295                 "instance-dependencies": {
296                   "description": "Instance names to inject to Jython or Kotlin Script.",
297                   "required": true,
298                   "type": "list",
299                   "entry_schema": {
300                     "type": "string"
301                   }
302                 },
303                 "dynamic-properties": {
304                   "description": "Dynamic Json Content or DSL Json reference.",
305                   "required": false,
306                   "type": "json"
307                 }
308               },
309               "outputs": {
310                 "response-data": {
311                   "description": "Execution Response Data in JSON format.",
312                   "required": false,
313                   "type": "string"
314                 },
315                 "status": {
316                   "description": "Status of the Component Execution ( success or failure )",
317                   "required": true,
318                   "type": "string"
319                 }
320               }
321             }
322           }
323         }
324       },
325       "derived_from": "tosca.nodes.Component"
326     },
327     "dg-generic": {
328       "description": "This is Generic Directed Graph Type",
329       "version": "1.0.0",
330       "properties": {
331         "content": {
332           "required": true,
333           "type": "string"
334         },
335         "dependency-node-templates": {
336           "description": "Dependent Step Components NodeTemplate name.",
337           "required": true,
338           "type": "list",
339           "entry_schema": {
340             "type": "string"
341           }
342         }
343       },
344       "derived_from": "tosca.nodes.Workflow"
345     },
346     "source-capability": {
347       "description": "This is Component Resource Source Node Type",
348       "version": "1.0.0",
349       "properties": {
350         "script-type": {
351           "required": true,
352           "type": "string",
353           "constraints": [
354             {
355               "valid_values": [
356                 "kotlin",
357                 "internal",
358                 "jython"
359               ]
360             }
361           ],
362           "default": "kotlin"
363         },
364         "script-class-reference": {
365           "description": "Capability reference name for internal and kotlin, for jython script file path",
366           "required": true,
367           "type": "string"
368         },
369         "instance-dependencies": {
370           "description": "Instance dependency Names to Inject to Kotlin / Jython Script.",
371           "required": false,
372           "type": "list",
373           "entry_schema": {
374             "type": "string"
375           }
376         },
377         "key-dependencies": {
378           "description": "Resource Resolution dependency dictionary names.",
379           "required": true,
380           "type": "list",
381           "entry_schema": {
382             "type": "string"
383           }
384         }
385       },
386       "derived_from": "tosca.nodes.ResourceSource"
387     },
388     "source-default": {
389       "description": "This is Default Resource Source Node Type",
390       "version": "1.0.0",
391       "properties": {},
392       "derived_from": "tosca.nodes.ResourceSource"
393     },
394     "source-input": {
395       "description": "This is Input Resource Source Node Type",
396       "version": "1.0.0",
397       "properties": {},
398       "derived_from": "tosca.nodes.ResourceSource"
399     },
400     "source-processor-db": {
401       "description": "This is Database Resource Source Node Type",
402       "version": "1.0.0",
403       "properties": {
404         "type": {
405           "required": true,
406           "type": "string",
407           "constraints": [
408             {
409               "valid_values": [
410                 "SQL",
411                 "PLSQL"
412               ]
413             }
414           ]
415         },
416         "endpoint-selector": {
417           "required": false,
418           "type": "string"
419         },
420         "query": {
421           "required": true,
422           "type": "string"
423         },
424         "input-key-mapping": {
425           "required": false,
426           "type": "map",
427           "entry_schema": {
428             "type": "string"
429           }
430         },
431         "output-key-mapping": {
432           "required": false,
433           "type": "map",
434           "entry_schema": {
435             "type": "string"
436           }
437         },
438         "key-dependencies": {
439           "required": true,
440           "type": "list",
441           "entry_schema": {
442             "type": "string"
443           }
444         }
445       },
446       "derived_from": "tosca.nodes.ResourceSource"
447     },
448     "source-rest": {
449       "description": "This is Rest Resource Source Node Type",
450       "version": "1.0.0",
451       "properties": {
452         "type": {
453           "required": true,
454           "type": "string",
455           "constraints": [
456             {
457               "valid_values": [
458                 "JSON"
459               ]
460             }
461           ],
462           "default": "JSON"
463         },
464         "verb": {
465           "required": true,
466           "type": "string",
467           "constraints": [
468             {
469               "valid_values": [
470                 "GET",
471                 "POST",
472                 "DELETE",
473                 "PUT"
474               ]
475             }
476           ],
477           "default": "GET"
478         },
479         "payload": {
480           "required": false,
481           "type": "string",
482           "default": ""
483         },
484         "endpoint-selector": {
485           "required": false,
486           "type": "string"
487         },
488         "url-path": {
489           "required": true,
490           "type": "string"
491         },
492         "path": {
493           "required": true,
494           "type": "string"
495         },
496         "expression-type": {
497           "required": false,
498           "type": "string",
499           "constraints": [
500             {
501               "valid_values": [
502                 "JSON_PATH",
503                 "JSON_POINTER"
504               ]
505             }
506           ],
507           "default": "JSON_PATH"
508         },
509         "input-key-mapping": {
510           "required": false,
511           "type": "map",
512           "entry_schema": {
513             "type": "string"
514           }
515         },
516         "output-key-mapping": {
517           "required": false,
518           "type": "map",
519           "entry_schema": {
520             "type": "string"
521           }
522         },
523         "key-dependencies": {
524           "required": true,
525           "type": "list",
526           "entry_schema": {
527             "type": "string"
528           }
529         }
530       },
531       "derived_from": "tosca.nodes.ResourceSource"
532     },
533     "tosca.nodes.Component": {
534       "description": "This is default Component Node",
535       "version": "1.0.0",
536       "derived_from": "tosca.nodes.Root"
537     },
538     "tosca.nodes.ResourceSource": {
539       "description": "TOSCA base type for Resource Sources",
540       "version": "1.0.0",
541       "derived_from": "tosca.nodes.Root"
542     },
543     "tosca.nodes.Vnf": {
544       "description": "This is VNF Node Type",
545       "version": "1.0.0",
546       "derived_from": "tosca.nodes.Root"
547     },
548     "tosca.nodes.Workflow": {
549       "description": "This is Directed Graph Node Type",
550       "version": "1.0.0",
551       "derived_from": "tosca.nodes.Root"
552     },
553     "vnf-netconf-device": {
554       "description": "This is VNF Device with Netconf  Capability",
555       "version": "1.0.0",
556       "capabilities": {
557         "netconf": {
558           "type": "tosca.capabilities.Netconf",
559           "properties": {
560             "login-key": {
561               "required": true,
562               "type": "string",
563               "default": "sdnc"
564             },
565             "login-account": {
566               "required": true,
567               "type": "string",
568               "default": "sdnc-tacacs"
569             },
570             "source": {
571               "required": false,
572               "type": "string",
573               "default": "npm"
574             },
575             "target-ip-address": {
576               "required": true,
577               "type": "string"
578             },
579             "port-number": {
580               "required": true,
581               "type": "integer",
582               "default": 830
583             },
584             "connection-time-out": {
585               "required": false,
586               "type": "integer",
587               "default": 30
588             }
589           }
590         }
591       },
592       "derived_from": "tosca.nodes.Vnf"
593     }
594   }
595 }