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