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