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