CDS Blueprint for vFW K8s Use Case
[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     "source-capability" : {
89       "description" : "This is Component Resource Source Node Type",
90       "version" : "1.0.0",
91       "properties" : {
92         "script-type" : {
93           "required" : true,
94           "type" : "string",
95           "constraints" : [ {
96             "valid_values" : [ "kotlin", "internal", "jython" ]
97           } ],
98           "default" : "kotlin"
99         },
100         "script-class-reference" : {
101           "description" : "Capability reference name for internal and kotlin, for jython script file path",
102           "required" : true,
103           "type" : "string"
104         },
105         "instance-dependencies" : {
106           "description" : "Instance dependency Names to Inject to Kotlin / Jython Script.",
107           "required" : false,
108           "type" : "list",
109           "entry_schema" : {
110             "type" : "string"
111           }
112         },
113         "key-dependencies" : {
114           "description" : "Resource Resolution dependency dictionary names.",
115           "required" : true,
116           "type" : "list",
117           "entry_schema" : {
118             "type" : "string"
119           }
120         }
121       },
122       "derived_from" : "tosca.nodes.ResourceSource"
123     },
124     "source-db" : {
125       "description" : "This is Database Resource Source Node Type",
126       "version" : "1.0.0",
127       "properties" : {
128         "type" : {
129           "required" : true,
130           "type" : "string",
131           "constraints" : [ {
132             "valid_values" : [ "SQL", "PLSQL" ]
133           } ],
134           "default" : "SQL"
135         },
136         "endpoint-selector" : {
137           "required" : false,
138           "type" : "string"
139         },
140         "query" : {
141           "required" : true,
142           "type" : "string"
143         },
144         "input-key-mapping" : {
145           "required" : false,
146           "type" : "map",
147           "entry_schema" : {
148             "type" : "string"
149           }
150         },
151         "output-key-mapping" : {
152           "required" : false,
153           "type" : "map",
154           "entry_schema" : {
155             "type" : "string"
156           }
157         },
158         "key-dependencies" : {
159           "required" : true,
160           "type" : "list",
161           "entry_schema" : {
162             "type" : "string"
163           }
164         }
165       },
166       "derived_from" : "tosca.nodes.ResourceSource"
167     },
168     "source-default" : {
169       "description" : "This is Default Resource Source Node Type",
170       "version" : "1.0.0",
171       "properties" : { },
172       "derived_from" : "tosca.nodes.ResourceSource"
173     },
174     "source-input" : {
175       "description" : "This is Input Resource Source Node Type",
176       "version" : "1.0.0",
177       "properties" : { },
178       "derived_from" : "tosca.nodes.ResourceSource"
179     },
180     "source-rest" : {
181       "description" : "This is Rest Resource Source Node Type",
182       "version" : "1.0.0",
183       "properties" : {
184         "type" : {
185           "required" : true,
186           "type" : "string",
187           "constraints" : [ {
188             "valid_values" : [ "JSON" ]
189           } ],
190           "default" : "JSON"
191         },
192         "headers" : {
193           "required" : false,
194           "type" : "map",
195           "entry_schema" : {
196             "type" : "string"
197           }
198         },
199         "verb" : {
200           "required" : true,
201           "type" : "string",
202           "constraints" : [ {
203             "valid_values" : [ "GET", "POST", "DELETE", "PUT" ]
204           } ],
205           "default" : "GET"
206         },
207         "payload" : {
208           "required" : false,
209           "type" : "string",
210           "default" : ""
211         },
212         "endpoint-selector" : {
213           "required" : false,
214           "type" : "string"
215         },
216         "url-path" : {
217           "required" : true,
218           "type" : "string"
219         },
220         "path" : {
221           "required" : true,
222           "type" : "string"
223         },
224         "expression-type" : {
225           "required" : false,
226           "type" : "string",
227           "constraints" : [ {
228             "valid_values" : [ "JSON_PATH", "JSON_POINTER" ]
229           } ],
230           "default" : "JSON_PATH"
231         },
232         "input-key-mapping" : {
233           "required" : false,
234           "type" : "map",
235           "entry_schema" : {
236             "type" : "string"
237           }
238         },
239         "output-key-mapping" : {
240           "required" : false,
241           "type" : "map",
242           "entry_schema" : {
243             "type" : "string"
244           }
245         },
246         "key-dependencies" : {
247           "required" : true,
248           "type" : "list",
249           "entry_schema" : {
250             "type" : "string"
251           }
252         }
253       },
254       "derived_from" : "tosca.nodes.ResourceSource"
255     },
256     "tosca.nodes.Component" : {
257       "description" : "This is default Component Node",
258       "version" : "1.0.0",
259       "derived_from" : "tosca.nodes.Root"
260     },
261     "tosca.nodes.ResourceSource" : {
262       "description" : "TOSCA base type for Resource Sources",
263       "version" : "1.0.0",
264       "derived_from" : "tosca.nodes.Root"
265     }
266   }
267 }