Simplify CBA by removing unnecessary variables
[demo.git] / heat / vFW_CNF_CDS / templates / cba / 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           "required" : true,
9           "type" : "string"
10         }
11       },
12       "capabilities" : {
13         "component-node" : {
14           "type" : "tosca.capabilities.Node"
15         }
16       },
17       "interfaces" : {
18         "ResourceResolutionComponent" : {
19           "operations" : {
20             "process" : {
21               "inputs" : {
22                 "resolution-key" : {
23                   "description" : "Key for service instance related correlation.",
24                   "required" : false,
25                   "type" : "string"
26                 },
27                 "occurrence" : {
28                   "description" : "Number of time to perform the resolution.",
29                   "required" : false,
30                   "type" : "integer",
31                   "default" : 1
32                 },
33                 "store-result" : {
34                   "description" : "Whether or not to store the output.",
35                   "required" : false,
36                   "type" : "boolean"
37                 },
38                 "resource-type" : {
39                   "description" : "Request type.",
40                   "required" : false,
41                   "type" : "string"
42                 },
43                 "resolution-summary" : {
44                   "description" : "Enable resolution-summary output",
45                   "required" : false,
46                   "type" : "boolean"
47                 },
48                 "artifact-prefix-names" : {
49                   "description" : "Template , Resource Assignment Artifact Prefix names",
50                   "required" : true,
51                   "type" : "list",
52                   "entry_schema" : {
53                     "type" : "string"
54                   }
55                 },
56                 "request-id" : {
57                   "description" : "Request Id, Unique Id for the request.",
58                   "required" : true,
59                   "type" : "string"
60                 },
61                 "resource-id" : {
62                   "description" : "Resource Id.",
63                   "required" : false,
64                   "type" : "string"
65                 },
66                 "action-name" : {
67                   "description" : "Action Name of the process",
68                   "required" : false,
69                   "type" : "string"
70                 },
71                 "dynamic-properties" : {
72                   "description" : "Dynamic Json Content or DSL Json reference.",
73                   "required" : false,
74                   "type" : "json"
75                 }
76               },
77               "outputs" : {
78                 "resource-assignment-params" : {
79                   "required" : true,
80                   "type" : "string"
81                 },
82                 "status" : {
83                   "required" : true,
84                   "type" : "string"
85                 }
86               }
87             }
88           }
89         }
90       },
91       "derived_from" : "tosca.nodes.Component"
92     },
93     "component-script-executor" : {
94       "description" : "This is CLI Transaction Configuration Component API",
95       "version" : "1.0.0",
96       "attributes" : {
97         "response-data" : {
98           "required" : false,
99           "type" : "json"
100         }
101       },
102       "capabilities" : {
103         "component-node" : {
104           "type" : "tosca.capabilities.Node"
105         }
106       },
107       "interfaces" : {
108         "ComponentScriptExecutor" : {
109           "operations" : {
110             "process" : {
111               "inputs" : {
112                 "script-type" : {
113                   "description" : "Script type, kotlin type is supported",
114                   "required" : true,
115                   "type" : "string",
116                   "constraints" : [ {
117                     "valid_values" : [ "kotlin", "jython", "internal" ]
118                   } ],
119                   "default" : "internal"
120                 },
121                 "script-class-reference" : {
122                   "description" : "Kotlin Script class name or jython script name.",
123                   "required" : true,
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                 "response-data" : {
134                   "description" : "Execution Response Data.",
135                   "required" : false,
136                   "type" : "string"
137                 },
138                 "status" : {
139                   "description" : "Status of the Component Execution ( success or failure )",
140                   "required" : true,
141                   "type" : "string"
142                 }
143               }
144             }
145           }
146         }
147       },
148       "derived_from" : "tosca.nodes.Component"
149     },
150     "source-capability" : {
151       "description" : "This is Component Resource Source Node Type",
152       "version" : "1.0.0",
153       "properties" : {
154         "script-type" : {
155           "required" : true,
156           "type" : "string",
157           "constraints" : [ {
158             "valid_values" : [ "kotlin", "internal", "jython" ]
159           } ],
160           "default" : "kotlin"
161         },
162         "script-class-reference" : {
163           "description" : "Capability reference name for internal and kotlin, for jython script file path",
164           "required" : true,
165           "type" : "string"
166         },
167         "instance-dependencies" : {
168           "description" : "Instance dependency Names to Inject to Kotlin / Jython Script.",
169           "required" : false,
170           "type" : "list",
171           "entry_schema" : {
172             "type" : "string"
173           }
174         },
175         "key-dependencies" : {
176           "description" : "Resource Resolution dependency dictionary names.",
177           "required" : true,
178           "type" : "list",
179           "entry_schema" : {
180             "type" : "string"
181           }
182         }
183       },
184       "derived_from" : "tosca.nodes.ResourceSource"
185     },
186     "source-db" : {
187       "description" : "This is Database Resource Source Node Type",
188       "version" : "1.0.0",
189       "properties" : {
190         "type" : {
191           "required" : true,
192           "type" : "string",
193           "constraints" : [ {
194             "valid_values" : [ "SQL", "PLSQL" ]
195           } ],
196           "default" : "SQL"
197         },
198         "endpoint-selector" : {
199           "required" : false,
200           "type" : "string"
201         },
202         "query" : {
203           "required" : true,
204           "type" : "string"
205         },
206         "input-key-mapping" : {
207           "required" : false,
208           "type" : "map",
209           "entry_schema" : {
210             "type" : "string"
211           }
212         },
213         "output-key-mapping" : {
214           "required" : false,
215           "type" : "map",
216           "entry_schema" : {
217             "type" : "string"
218           }
219         },
220         "key-dependencies" : {
221           "required" : true,
222           "type" : "list",
223           "entry_schema" : {
224             "type" : "string"
225           }
226         }
227       },
228       "derived_from" : "tosca.nodes.ResourceSource"
229     },
230     "source-default" : {
231       "description" : "This is Default Resource Source Node Type",
232       "version" : "1.0.0",
233       "properties" : { },
234       "derived_from" : "tosca.nodes.ResourceSource"
235     },
236     "source-input" : {
237       "description" : "This is Input Resource Source Node Type",
238       "version" : "1.0.0",
239       "properties" : { },
240       "derived_from" : "tosca.nodes.ResourceSource"
241     },
242     "source-rest" : {
243       "description" : "This is Rest Resource Source Node Type",
244       "version" : "1.0.0",
245       "properties" : {
246         "type" : {
247           "required" : true,
248           "type" : "string",
249           "constraints" : [ {
250             "valid_values" : [ "JSON" ]
251           } ],
252           "default" : "JSON"
253         },
254         "headers" : {
255           "required" : false,
256           "type" : "map",
257           "entry_schema" : {
258             "type" : "string"
259           }
260         },
261         "verb" : {
262           "required" : true,
263           "type" : "string",
264           "constraints" : [ {
265             "valid_values" : [ "GET", "POST", "DELETE", "PUT" ]
266           } ],
267           "default" : "GET"
268         },
269         "payload" : {
270           "required" : false,
271           "type" : "string",
272           "default" : ""
273         },
274         "endpoint-selector" : {
275           "required" : false,
276           "type" : "string"
277         },
278         "url-path" : {
279           "required" : true,
280           "type" : "string"
281         },
282         "path" : {
283           "required" : true,
284           "type" : "string"
285         },
286         "expression-type" : {
287           "required" : false,
288           "type" : "string",
289           "constraints" : [ {
290             "valid_values" : [ "JSON_PATH", "JSON_POINTER" ]
291           } ],
292           "default" : "JSON_PATH"
293         },
294         "input-key-mapping" : {
295           "required" : false,
296           "type" : "map",
297           "entry_schema" : {
298             "type" : "string"
299           }
300         },
301         "output-key-mapping" : {
302           "required" : false,
303           "type" : "map",
304           "entry_schema" : {
305             "type" : "string"
306           }
307         },
308         "key-dependencies" : {
309           "required" : true,
310           "type" : "list",
311           "entry_schema" : {
312             "type" : "string"
313           }
314         }
315       },
316       "derived_from" : "tosca.nodes.ResourceSource"
317     },
318     "tosca.nodes.Component" : {
319       "description" : "This is default Component Node",
320       "version" : "1.0.0",
321       "derived_from" : "tosca.nodes.Root"
322     },
323     "tosca.nodes.ResourceSource" : {
324       "description" : "TOSCA base type for Resource Sources",
325       "version" : "1.0.0",
326       "derived_from" : "tosca.nodes.Root"
327     }
328   }
329 }