Add ResourceResolutionResult to ResourceResolutionService
[ccsdk/cds.git] / components / model-catalog / blueprint-model / test-blueprint / baseconfiguration / Definitions / node_types.json
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           "description": "Holds resolved template, resolution-summary or key-value",
183           "required": true,
184           "type": "string"
185         },
186         "assignment-map": {
187           "description": "Holds resolved values for each artifact prefix eg. { vdns: { vnf-id: 123 } }",
188           "required": true,
189           "type": "map"
190         }
191       },
192       "capabilities": {
193         "component-node": {
194           "type": "tosca.capabilities.Node"
195         }
196       },
197       "interfaces": {
198         "ResourceResolutionComponent": {
199           "operations": {
200             "process": {
201               "inputs": {
202                 "resolution-key": {
203                   "description": "Key for service instance related correlation.",
204                   "required": false,
205                   "type": "string"
206                 },
207                 "occurrence": {
208                   "description": "Number of time to perform the resolution.",
209                   "required": false,
210                   "default": 1,
211                   "type": "integer"
212                 },
213                 "store-result": {
214                   "description": "Whether or not to store the output.",
215                   "required": false,
216                   "type": "boolean"
217                 },
218                 "resource-type": {
219                   "description": "Request type.",
220                   "required": false,
221                   "type": "string"
222                 },
223                 "resolution-summary": {
224                   "description": "Enable resolution-summary output",
225                   "required": false,
226                   "type": "boolean"
227                 },
228                 "artifact-prefix-names": {
229                   "required": true,
230                   "description": "Template , Resource Assignment Artifact Prefix names",
231                   "type": "list",
232                   "entry_schema": {
233                     "type": "string"
234                   }
235                 },
236                 "request-id": {
237                   "description": "Request Id, Unique Id for the request.",
238                   "required": true,
239                   "type": "string"
240                 },
241                 "resource-id": {
242                   "description": "Resource Id.",
243                   "required": false,
244                   "type": "string"
245                 },
246                 "action-name": {
247                   "description": "Action Name of the process",
248                   "required": false,
249                   "type": "string"
250                 },
251                 "dynamic-properties": {
252                   "description": "Dynamic Json Content or DSL Json reference.",
253                   "required": false,
254                   "type": "json"
255                 }
256               },
257               "outputs": {
258                 "resource-assignment-params": {
259                   "required": true,
260                   "type": "string"
261                 },
262                 "resource-assignment-map": {
263                   "required": true,
264                   "type": "string"
265                 },
266                 "status": {
267                   "required": true,
268                   "type": "string"
269                 }
270               }
271             }
272           }
273         }
274       },
275       "derived_from": "tosca.nodes.Component"
276     },
277     "dg-generic": {
278       "description": "This is Generic Directed Graph Type",
279       "version": "1.0.0",
280       "properties": {
281         "content": {
282           "required": true,
283           "type": "string"
284         },
285         "dependency-node-templates": {
286           "description": "Dependent Step Components NodeTemplate name.",
287           "required": true,
288           "type": "list",
289           "entry_schema": {
290             "type": "string"
291           }
292         }
293       },
294       "derived_from": "tosca.nodes.Workflow"
295     },
296     "source-capability": {
297       "description": "This is Component Resource Source Node Type",
298       "version": "1.0.0",
299       "properties": {
300         "script-type": {
301           "required": true,
302           "type": "string",
303           "constraints": [
304             {
305               "valid_values": [
306                 "kotlin",
307                 "internal",
308                 "jython"
309               ]
310             }
311           ],
312           "default": "kotlin"
313         },
314         "script-class-reference": {
315           "description": "Capability reference name for internal and kotlin, for jython script file path",
316           "required": true,
317           "type": "string"
318         },
319         "instance-dependencies": {
320           "description": "Instance dependency Names to Inject to Kotlin / Jython Script.",
321           "required": false,
322           "type": "list",
323           "entry_schema": {
324             "type": "string"
325           }
326         },
327         "key-dependencies": {
328           "description": "Resource Resolution dependency dictionary names.",
329           "required": true,
330           "type": "list",
331           "entry_schema": {
332             "type": "string"
333           }
334         }
335       },
336       "derived_from": "tosca.nodes.ResourceSource"
337     },
338     "source-default": {
339       "description": "This is Default Resource Source Node Type",
340       "version": "1.0.0",
341       "properties": {},
342       "derived_from": "tosca.nodes.ResourceSource"
343     },
344     "source-input": {
345       "description": "This is Input Resource Source Node Type",
346       "version": "1.0.0",
347       "properties": {},
348       "derived_from": "tosca.nodes.ResourceSource"
349     },
350     "source-db": {
351       "description": "This is Database Resource Source Node Type",
352       "version": "1.0.0",
353       "properties": {
354         "type": {
355           "required": true,
356           "type": "string",
357           "constraints": [
358             {
359               "valid_values": [
360                 "SQL",
361                 "PLSQL"
362               ]
363             }
364           ]
365         },
366         "endpoint-selector": {
367           "required": false,
368           "type": "string"
369         },
370         "query": {
371           "required": true,
372           "type": "string"
373         },
374         "input-key-mapping": {
375           "required": false,
376           "type": "map",
377           "entry_schema": {
378             "type": "string"
379           }
380         },
381         "output-key-mapping": {
382           "required": false,
383           "type": "map",
384           "entry_schema": {
385             "type": "string"
386           }
387         },
388         "key-dependencies": {
389           "required": true,
390           "type": "list",
391           "entry_schema": {
392             "type": "string"
393           }
394         }
395       },
396       "derived_from": "tosca.nodes.ResourceSource"
397     },
398     "source-rest": {
399       "description": "This is Rest Resource Source Node Type",
400       "version": "1.0.0",
401       "properties": {
402         "type": {
403           "required": true,
404           "type": "string",
405           "constraints": [
406             {
407               "valid_values": [
408                 "JSON"
409               ]
410             }
411           ],
412           "default": "JSON"
413         },
414         "verb": {
415           "required": true,
416           "type": "string",
417           "constraints": [
418             {
419               "valid_values": [
420                 "GET",
421                 "POST",
422                 "DELETE",
423                 "PUT"
424               ]
425             }
426           ],
427           "default": "GET"
428         },
429         "payload": {
430           "required": false,
431           "type": "string",
432           "default": ""
433         },
434         "endpoint-selector": {
435           "required": false,
436           "type": "string"
437         },
438         "url-path": {
439           "required": true,
440           "type": "string"
441         },
442         "path": {
443           "required": true,
444           "type": "string"
445         },
446         "expression-type": {
447           "required": false,
448           "type": "string",
449           "constraints": [
450             {
451               "valid_values": [
452                 "JSON_PATH",
453                 "JSON_POINTER"
454               ]
455             }
456           ],
457           "default": "JSON_PATH"
458         },
459         "input-key-mapping": {
460           "required": false,
461           "type": "map",
462           "entry_schema": {
463             "type": "string"
464           }
465         },
466         "output-key-mapping": {
467           "required": false,
468           "type": "map",
469           "entry_schema": {
470             "type": "string"
471           }
472         },
473         "key-dependencies": {
474           "required": true,
475           "type": "list",
476           "entry_schema": {
477             "type": "string"
478           }
479         }
480       },
481       "derived_from": "tosca.nodes.ResourceSource"
482     },
483     "tosca.nodes.Component": {
484       "description": "This is default Component Node",
485       "version": "1.0.0",
486       "derived_from": "tosca.nodes.Root"
487     },
488     "tosca.nodes.ResourceSource": {
489       "description": "TOSCA base type for Resource Sources",
490       "version": "1.0.0",
491       "derived_from": "tosca.nodes.Root"
492     },
493     "tosca.nodes.Vnf": {
494       "description": "This is VNF Node Type",
495       "version": "1.0.0",
496       "derived_from": "tosca.nodes.Root"
497     },
498     "tosca.nodes.Workflow": {
499       "description": "This is Directed Graph Node Type",
500       "version": "1.0.0",
501       "derived_from": "tosca.nodes.Root"
502     },
503     "vnf-netconf-device": {
504       "description": "This is VNF Device with Netconf  Capability",
505       "version": "1.0.0",
506       "capabilities": {
507         "netconf": {
508           "type": "tosca.capabilities.Netconf",
509           "properties": {
510             "login-key": {
511               "required": true,
512               "type": "string",
513               "default": "sdnc"
514             },
515             "login-account": {
516               "required": true,
517               "type": "string",
518               "default": "sdnc-tacacs"
519             },
520             "source": {
521               "required": false,
522               "type": "string",
523               "default": "npm"
524             },
525             "target-ip-address": {
526               "required": true,
527               "type": "string"
528             },
529             "port-number": {
530               "required": true,
531               "type": "integer",
532               "default": 830
533             },
534             "connection-time-out": {
535               "required": false,
536               "type": "integer",
537               "default": 30
538             }
539           }
540         }
541       },
542       "derived_from": "tosca.nodes.Vnf"
543     }
544   }
545 }