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