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