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