3912a472deaee3643a69020e4b9e07469d2b4535
[ccsdk/cds.git] /
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               },
25               "outputs": {
26                 "response-data": {
27                   "description": "Execution Response Data in JSON format.",
28                   "required": false,
29                   "type": "string"
30                 },
31                 "status": {
32                   "description": "Status of the Component Execution ( success or failure )",
33                   "required": true,
34                   "type": "string"
35                 }
36               }
37             }
38           }
39         }
40       },
41       "derived_from": "tosca.nodes.component.Jython"
42     },
43     "component-netconf-executor": {
44       "description": "This is Netconf Transaction Configuration Component API",
45       "version": "1.0.0",
46       "capabilities": {
47         "component-node": {
48           "type": "tosca.capabilities.Node"
49         }
50       },
51       "requirements": {
52         "netconf-connection": {
53           "capability": "netconf",
54           "node": "vnf-netconf-device",
55           "relationship": "tosca.relationships.ConnectsTo"
56         }
57       },
58       "interfaces": {
59         "ComponentNetconfExecutor": {
60           "operations": {
61             "process": {
62               "inputs": {
63                 "script-type": {
64                   "description": "Script type, kotlin type is supported",
65                   "required": true,
66                   "type": "string",
67                   "constraints": [
68                     {
69                       "valid_values": [
70                         "kotlin",
71                         "jython",
72                         "internal"
73                       ]
74                     }
75                   ],
76                   "default": "internal"
77                 },
78                 "script-class-reference": {
79                   "description": "Kotlin Script class name or jython script name.",
80                   "required": true,
81                   "type": "string"
82                 },
83                 "instance-dependencies": {
84                   "description": "Instance names to inject to Jython or Kotlin Script.",
85                   "required": true,
86                   "type": "list",
87                   "entry_schema": {
88                     "type": "string"
89                   }
90                 }
91               },
92               "outputs": {
93                 "response-data": {
94                   "description": "Execution Response Data in JSON format.",
95                   "required": false,
96                   "type": "string"
97                 },
98                 "status": {
99                   "description": "Status of the Component Execution ( success or failure )",
100                   "required": true,
101                   "type": "string"
102                 }
103               }
104             }
105           }
106         }
107       },
108       "derived_from": "tosca.nodes.Component"
109     },
110     "component-resource-resolution": {
111       "description": "This is Resource Assignment Component API",
112       "version": "1.0.0",
113       "attributes": {
114         "assignment-params": {
115           "required": true,
116           "type": "string"
117         }
118       },
119       "capabilities": {
120         "component-node": {
121           "type": "tosca.capabilities.Node"
122         }
123       },
124       "interfaces": {
125         "ResourceResolutionComponent": {
126           "operations": {
127             "process": {
128               "inputs": {
129                 "resource-type": {
130                   "description": "Request type.",
131                   "required": false,
132                   "type": "string"
133                 },
134                 "artifact-prefix-names": {
135                   "description": "Template , Resource Assignment Artifact Prefix names",
136                   "required": true,
137                   "type": "list",
138                   "entry_schema": {
139                     "type": "string"
140                   }
141                 },
142                 "request-id": {
143                   "description": "Request Id, Unique Id for the request.",
144                   "required": true,
145                   "type": "string"
146                 },
147                 "resource-id": {
148                   "description": "Resource Id.",
149                   "required": false,
150                   "type": "string"
151                 },
152                 "action-name": {
153                   "description": "Action Name of the process",
154                   "required": false,
155                   "type": "string"
156                 }
157               },
158               "outputs": {
159                 "resource-assignment-params": {
160                   "required": true,
161                   "type": "string"
162                 },
163                 "status": {
164                   "required": true,
165                   "type": "string"
166                 }
167               }
168             }
169           }
170         }
171       },
172       "derived_from": "tosca.nodes.Component"
173     },
174     "dg-generic": {
175       "description": "This is Generic Directed Graph Type",
176       "version": "1.0.0",
177       "properties": {
178         "content": {
179           "required": true,
180           "type": "string"
181         },
182         "dependency-node-templates": {
183           "description": "Dependent Step Components NodeTemplate name.",
184           "required": true,
185           "type": "list",
186           "entry_schema": {
187             "type": "string"
188           }
189         }
190       },
191       "derived_from": "tosca.nodes.DG"
192     },
193     "source-input": {
194       "description": "This is Input Resource Source Node Type",
195       "version": "1.0.0",
196       "properties": {
197         "key": {
198           "required": false,
199           "type": "string"
200         },
201         "key-dependencies": {
202           "required": true,
203           "type": "list",
204           "entry_schema": {
205             "type": "string"
206           }
207         }
208       },
209       "derived_from": "tosca.nodes.ResourceSource"
210     },
211     "source-rest": {
212       "description": "This is Rest Resource Source Node Type",
213       "version": "1.0.0",
214       "properties": {
215         "type": {
216           "required": false,
217           "type": "string",
218           "constraints": [
219             {
220               "valid_values": [
221                 "JSON"
222               ]
223             }
224           ],
225           "default": "JSON"
226         },
227         "url-path": {
228           "required": true,
229           "type": "string"
230         },
231         "path": {
232           "required": true,
233           "type": "string"
234         },
235         "expression-type": {
236           "required": false,
237           "type": "string",
238           "constraints": [
239             {
240               "valid_values": [
241                 "JSON_PATH",
242                 "JSON_POINTER"
243               ]
244             }
245           ],
246           "default": "JSON_PATH"
247         },
248         "input-key-mapping": {
249           "required": false,
250           "type": "map",
251           "entry_schema": {
252             "type": "string"
253           }
254         },
255         "output-key-mapping": {
256           "required": false,
257           "type": "map",
258           "entry_schema": {
259             "type": "string"
260           }
261         },
262         "key-dependencies": {
263           "required": true,
264           "type": "list",
265           "entry_schema": {
266             "type": "string"
267           }
268         }
269       },
270       "derived_from": "tosca.nodes.ResourceSource"
271     },
272     "tosca.nodes.Component": {
273       "description": "This is default Component Node",
274       "version": "1.0.0",
275       "derived_from": "tosca.nodes.Root"
276     },
277     "tosca.nodes.DG": {
278       "description": "This is Directed Graph Node Type",
279       "version": "1.0.0",
280       "derived_from": "tosca.nodes.Root"
281     },
282     "tosca.nodes.ResourceSource": {
283       "description": "TOSCA base type for Resource Sources",
284       "version": "1.0.0",
285       "derived_from": "tosca.nodes.Root"
286     },
287     "tosca.nodes.Vnf": {
288       "description": "This is VNF Node Type",
289       "version": "1.0.0",
290       "derived_from": "tosca.nodes.Root"
291     },
292     "tosca.nodes.component.Jython": {
293       "description": "This is Jython Component",
294       "version": "1.0.0",
295       "derived_from": "tosca.nodes.Root"
296     },
297     "vnf-netconf-device": {
298       "description": "This is VNF Device with Netconf  Capability",
299       "version": "1.0.0",
300       "capabilities": {
301         "netconf": {
302           "type": "tosca.capabilities.Netconf",
303           "properties": {
304             "login-key": {
305               "required": true,
306               "type": "string",
307               "default": "sdnc"
308             },
309             "login-account": {
310               "required": true,
311               "type": "string",
312               "default": "sdnc-tacacs"
313             },
314             "source": {
315               "required": false,
316               "type": "string",
317               "default": "npm"
318             },
319             "target-ip-address": {
320               "required": true,
321               "type": "string"
322             },
323             "port-number": {
324               "required": true,
325               "type": "integer",
326               "default": 830
327             },
328             "connection-time-out": {
329               "required": false,
330               "type": "integer",
331               "default": 30
332             }
333           }
334         }
335       },
336       "derived_from": "tosca.nodes.Vnf"
337     }
338   }
339 }