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