Updated for Jakarta Release
[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                     "valid_values" : [ "kotlin", "jython", "internal" ]
128                   } ],
129                   "default" : "internal"
130                 },
131                 "script-class-reference" : {
132                   "description" : "Kotlin Script class name or jython script name.",
133                   "required" : true,
134                   "type" : "string"
135                 },
136                 "instance-dependencies" : {
137                   "description" : "Instance names to inject to Jython or Kotlin Script.",
138                   "required" : true,
139                   "type" : "list",
140                   "entry_schema" : {
141                     "type" : "string"
142                   }
143                 },
144                 "dynamic-properties" : {
145                   "description" : "Dynamic Json Content or DSL Json reference.",
146                   "required" : false,
147                   "type" : "json"
148                 }
149               },
150               "outputs" : {
151                 "response-data" : {
152                   "description" : "Execution Response Data.",
153                   "required" : false,
154                   "type" : "string"
155                 },
156                 "status" : {
157                   "description" : "Status of the Component Execution ( success or failure )",
158                   "required" : true,
159                   "type" : "string"
160                 }
161               }
162             }
163           }
164         }
165       },
166       "derived_from" : "tosca.nodes.Component"
167     },
168     "source-capability" : {
169       "description" : "This is Component Resource Source Node Type",
170       "version" : "1.0.0",
171       "properties" : {
172         "script-type" : {
173           "required" : true,
174           "type" : "string",
175           "constraints" : [ {
176             "valid_values" : [ "kotlin", "internal", "jython" ]
177           } ],
178           "default" : "kotlin"
179         },
180         "script-class-reference" : {
181           "description" : "Capability reference name for internal and kotlin, for jython script file path",
182           "required" : true,
183           "type" : "string"
184         },
185         "instance-dependencies" : {
186           "description" : "Instance dependency Names to Inject to Kotlin / Jython Script.",
187           "required" : false,
188           "type" : "list",
189           "entry_schema" : {
190             "type" : "string"
191           }
192         },
193         "key-dependencies" : {
194           "description" : "Resource Resolution dependency dictionary names.",
195           "required" : true,
196           "type" : "list",
197           "entry_schema" : {
198             "type" : "string"
199           }
200         }
201       },
202       "derived_from" : "tosca.nodes.ResourceSource"
203     },
204     "source-db" : {
205       "description" : "This is Database Resource Source Node Type",
206       "version" : "1.0.0",
207       "properties" : {
208         "type" : {
209           "required" : true,
210           "type" : "string",
211           "constraints" : [ {
212             "valid_values" : [ "SQL", "PLSQL" ]
213           } ],
214           "default" : "SQL"
215         },
216         "endpoint-selector" : {
217           "required" : false,
218           "type" : "string"
219         },
220         "query" : {
221           "required" : true,
222           "type" : "string"
223         },
224         "input-key-mapping" : {
225           "required" : false,
226           "type" : "map",
227           "entry_schema" : {
228             "type" : "string"
229           }
230         },
231         "output-key-mapping" : {
232           "required" : false,
233           "type" : "map",
234           "entry_schema" : {
235             "type" : "string"
236           }
237         },
238         "key-dependencies" : {
239           "required" : true,
240           "type" : "list",
241           "entry_schema" : {
242             "type" : "string"
243           }
244         }
245       },
246       "derived_from" : "tosca.nodes.ResourceSource"
247     },
248     "source-default" : {
249       "description" : "This is Default Resource Source Node Type",
250       "version" : "1.0.0",
251       "properties" : { },
252       "derived_from" : "tosca.nodes.ResourceSource"
253     },
254     "source-input" : {
255       "description" : "This is Input Resource Source Node Type",
256       "version" : "1.0.0",
257       "properties" : { },
258       "derived_from" : "tosca.nodes.ResourceSource"
259     },
260     "source-rest" : {
261       "description" : "This is Rest Resource Source Node Type",
262       "version" : "1.0.0",
263       "properties" : {
264         "type" : {
265           "required" : true,
266           "type" : "string",
267           "constraints" : [ {
268             "valid_values" : [ "JSON" ]
269           } ],
270           "default" : "JSON"
271         },
272         "headers" : {
273           "required" : false,
274           "type" : "map",
275           "entry_schema" : {
276             "type" : "string"
277           }
278         },
279         "verb" : {
280           "required" : true,
281           "type" : "string",
282           "constraints" : [ {
283             "valid_values" : [ "GET", "POST", "DELETE", "PUT" ]
284           } ],
285           "default" : "GET"
286         },
287         "payload" : {
288           "required" : false,
289           "type" : "string",
290           "default" : ""
291         },
292         "endpoint-selector" : {
293           "required" : false,
294           "type" : "string"
295         },
296         "url-path" : {
297           "required" : true,
298           "type" : "string"
299         },
300         "path" : {
301           "required" : true,
302           "type" : "string"
303         },
304         "expression-type" : {
305           "required" : false,
306           "type" : "string",
307           "constraints" : [ {
308             "valid_values" : [ "JSON_PATH", "JSON_POINTER" ]
309           } ],
310           "default" : "JSON_PATH"
311         },
312         "input-key-mapping" : {
313           "required" : false,
314           "type" : "map",
315           "entry_schema" : {
316             "type" : "string"
317           }
318         },
319         "output-key-mapping" : {
320           "required" : false,
321           "type" : "map",
322           "entry_schema" : {
323             "type" : "string"
324           }
325         },
326         "key-dependencies" : {
327           "required" : true,
328           "type" : "list",
329           "entry_schema" : {
330             "type" : "string"
331           }
332         }
333       },
334       "derived_from" : "tosca.nodes.ResourceSource"
335     },
336     "tosca.nodes.Component" : {
337       "description" : "This is default Component Node",
338       "version" : "1.0.0",
339       "derived_from" : "tosca.nodes.Root"
340     },
341     "tosca.nodes.ResourceSource" : {
342       "description" : "TOSCA base type for Resource Sources",
343       "version" : "1.0.0",
344       "derived_from" : "tosca.nodes.Root"
345     }
346   }
347 }