06e7e9303d4052f32024b881e1ce9456199bd8bd
[ccsdk/apps.git] / ms / controllerblueprints / application / load / blueprints / baseconfiguration / Definitions / activation-blueprint.json
1 {\r
2   "metadata": {\r
3     "template_author": "Brinda Santh Muthuramalingam",\r
4     "author-email": "brindasanth@gmail.com",\r
5     "user-groups": "ADMIN, OPERATION",\r
6     "template_name": "baseconfiguration",\r
7     "template_version": "1.0.0",\r
8     "template_tags": "brinda, tosca"\r
9   },\r
10   "topology_template": {\r
11     "inputs": {\r
12       "request-id": {\r
13         "required": true,\r
14         "type": "string"\r
15       },\r
16       "action-name": {\r
17         "required": true,\r
18         "type": "string"\r
19       },\r
20       "scope-type": {\r
21         "required": true,\r
22         "type": "string"\r
23       },\r
24       "hostname": {\r
25         "required": true,\r
26         "type": "string"\r
27       }\r
28     },\r
29     "node_templates": {\r
30       "activate-process": {\r
31         "type": "bpmn-activate",\r
32         "properties": {\r
33           "process-name": {\r
34             "get_input": "action-name"\r
35           },\r
36           "version": {\r
37             "get_property": [\r
38               "SELF",\r
39               "process-name"\r
40             ]\r
41           },\r
42           "content": {\r
43             "get_artifact": [\r
44               "SELF",\r
45               "activate-process"\r
46             ]\r
47           }\r
48         },\r
49         "artifacts": {\r
50           "activate-process": {\r
51             "type": "artifact-bpmn-camunda",\r
52             "file": "Plans/ActivateProcess.bpmn"\r
53           }\r
54         }\r
55       },\r
56       "resource-assignment": {\r
57         "type": "component-resource-assignment",\r
58         "properties": {\r
59           "request-id": "1234"\r
60         },\r
61         "interfaces": {\r
62           "DefaultComponentNode": {\r
63             "operations": {\r
64               "process": {\r
65                 "inputs": {\r
66                   "action-name": {\r
67                     "get_input": "action-name"\r
68                   },\r
69                   "resource-type": "vnf-type",\r
70                   "request-id": {\r
71                     "get_input": "request-id"\r
72                   },\r
73                   "resource-id": {\r
74                     "get_input": "hostname"\r
75                   },\r
76                   "template-content": {\r
77                     "get_artifact": [\r
78                       "SELF",\r
79                       "baseconfig-template"\r
80                     ]\r
81                   },\r
82                   "mapping-content": {\r
83                     "get_artifact": [\r
84                       "SELF",\r
85                       "baseconfig-mapping"\r
86                     ]\r
87                   }\r
88                 },\r
89                 "outputs": {\r
90                   "resource-assignment-params": "",\r
91                   "status": ""\r
92                 }\r
93               }\r
94             }\r
95           }\r
96         },\r
97         "artifacts": {\r
98           "baseconfig-template": {\r
99             "type": "artifact-template-velocity",\r
100             "file": "Templates/baseconfig-template.vtl"\r
101           },\r
102           "baseconfig-mapping": {\r
103             "type": "artifact-mapping-resource",\r
104             "file": "Mappings/baseconfig-mapping.json"\r
105           }\r
106         }\r
107       },\r
108       "resource-assignment-py": {\r
109         "type": "component-resource-assignment",\r
110         "properties": {\r
111           "request-id": "1234"\r
112         },\r
113         "interfaces": {\r
114           "DefaultComponentNode": {\r
115             "operations": {\r
116               "process": {\r
117                 "implementation": {\r
118                   "primary": "component-script"\r
119                 },\r
120                 "inputs": {\r
121                   "action-name": {\r
122                     "get_input": "action-name"\r
123                   }\r
124                 },\r
125                 "outputs": {\r
126                   "resource-assignment-params": "",\r
127                   "status": ""\r
128                 }\r
129               }\r
130             }\r
131           }\r
132         },\r
133         "artifacts": {\r
134           "component-script": {\r
135             "type": "artifact-script-python",\r
136             "file": "Scripts/baseconfig-template.vtl"\r
137           }\r
138         }\r
139       }\r
140     },\r
141     "workflows": {\r
142       "activate-process": {\r
143         "steps": {\r
144           "call-resource-assignment": {\r
145             "description": "Invoke Resource Assignment Component",\r
146             "target": "resource-assignment",\r
147             "activities": [\r
148               {\r
149                 "call_operation": "ResourceAssignmentNode.process"\r
150               }\r
151             ],\r
152             "on_success": [\r
153               "download-baseconfig"\r
154             ]\r
155           },\r
156           "download-baseconfig": {\r
157             "description": "Call Download Base Config Component",\r
158             "target": "activate-netconf",\r
159             "activities": [\r
160               {\r
161                 "call_operation": "NetconfTransactionNode.process"\r
162               }\r
163             ],\r
164             "on_success": [\r
165               "download-licence"\r
166             ]\r
167           },\r
168           "download-licence": {\r
169             "description": "Call Download Licence Component",\r
170             "target": "activate-netconf",\r
171             "activities": [\r
172               {\r
173                 "call_operation": "NetconfTransactionNode.process"\r
174               }\r
175             ]\r
176           }\r
177         }\r
178       }\r
179     }\r
180   },\r
181   "artifact_types": {\r
182     "artifact-template-velocity": {\r
183       "description": " Velocity Template used for Configuration",\r
184       "version": "1.0.0",\r
185       "file_ext": [\r
186         "vtl"\r
187       ],\r
188       "derived_from": "tosca.artifacts.Implementation"\r
189     },\r
190     "artifact-mapping-resource": {\r
191       "description": " Velocity Template Resource Mapping File used along with Configuration template",\r
192       "version": "1.0.0",\r
193       "file_ext": [\r
194         "json"\r
195       ],\r
196       "derived_from": "tosca.artifacts.Implementation"\r
197     },\r
198     "artifact-script-kotlin": {\r
199       "description": " Kotlin Script Template used for Configuration",\r
200       "version": "1.0.0",\r
201       "file_ext": [\r
202         "kt"\r
203       ],\r
204       "derived_from": "tosca.artifacts.Implementation"\r
205     },\r
206     "artifact-script-python": {\r
207       "description": " Kotlin Script Template used for Configuration",\r
208       "version": "1.0.0",\r
209       "file_ext": [\r
210         "py"\r
211       ],\r
212       "derived_from": "tosca.artifacts.Implementation"\r
213     },\r
214     "artifact-bpmn-camunda": {\r
215       "description": " Camunda BPM File",\r
216       "version": "1.0.0",\r
217       "file_ext": [\r
218         "bpmn"\r
219       ],\r
220       "derived_from": "tosca.artifacts.Implementation"\r
221     },\r
222     "artifact-component-jar": {\r
223       "description": "Component Jar",\r
224       "version": "1.0.0",\r
225       "file_ext": [\r
226         "jar"\r
227       ],\r
228       "derived_from": "tosca.artifacts.Implementation"\r
229     }\r
230   },\r
231   "node_types": {\r
232     "bpmn-activate": {\r
233       "description": "This is BPMN Activate node type",\r
234       "version": "1.0.0",\r
235       "properties": {\r
236         "content": {\r
237           "required": false,\r
238           "type": "string"\r
239         },\r
240         "process-name": {\r
241           "required": false,\r
242           "type": "string"\r
243         },\r
244         "version": {\r
245           "required": false,\r
246           "type": "string",\r
247           "default": "LATEST"\r
248         }\r
249       },\r
250       "derived_from": "tosca.nodes.DG"\r
251     },\r
252     "tosca.nodes.Component": {\r
253       "description": "This is Resource Assignment Component API",\r
254       "version": "1.0.0",\r
255       "derived_from": "tosca.nodes.Root"\r
256     },\r
257     "tosca.nodes.DG": {\r
258       "description": "This is Directed Graph Node Type",\r
259       "version": "1.0.0",\r
260       "derived_from": "tosca.nodes.Root"\r
261     },\r
262     "tosca.nodes.component.Python": {\r
263       "description": "This is Resource Assignment Python Component API",\r
264       "version": "1.0.0",\r
265       "derived_from": "tosca.nodes.Root"\r
266     },\r
267     "component-resource-assignment": {\r
268       "description": "This is Resource Assignment Component API",\r
269       "version": "1.0.0",\r
270       "properties": {\r
271         "request-id": {\r
272           "description": "Request Id used to store the generated configuration, in the database along with the template-name",\r
273           "required": true,\r
274           "type": "string"\r
275         }\r
276       },\r
277       "interfaces": {\r
278         "DefaultComponentNode": {\r
279           "operations": {\r
280             "process": {\r
281               "inputs": {\r
282                 "action-name": {\r
283                   "description": "Recipe Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",\r
284                   "required": false,\r
285                   "type": "string"\r
286                 },\r
287                 "resource-type": {\r
288                   "required": false,\r
289                   "type": "string"\r
290                 },\r
291                 "request-id": {\r
292                   "description": "Request Id used to store the generated configuration, in the database along with the template-name",\r
293                   "required": true,\r
294                   "type": "string"\r
295                 },\r
296                 "resource-id": {\r
297                   "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",\r
298                   "required": true,\r
299                   "type": "string"\r
300                 },\r
301                 "template-content": {\r
302                   "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",\r
303                   "required": true,\r
304                   "type": "string"\r
305                 },\r
306                 "mapping-content": {\r
307                   "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",\r
308                   "required": true,\r
309                   "type": "string"\r
310                 }\r
311               },\r
312               "outputs": {\r
313                 "resource-assignment-params": {\r
314                   "required": true,\r
315                   "type": "string"\r
316                 },\r
317                 "status": {\r
318                   "required": true,\r
319                   "type": "string"\r
320                 }\r
321               }\r
322             }\r
323           }\r
324         }\r
325       },\r
326       "derived_from": "tosca.nodes.Component"\r
327     },\r
328     "component-resource-assignment-python": {\r
329       "description": "This is Resource Assignment Component API",\r
330       "version": "1.0.0",\r
331       "properties": {\r
332         "request-id": {\r
333           "description": "Request Id used to store the generated configuration, in the database along with the template-name",\r
334           "required": true,\r
335           "type": "string"\r
336         }\r
337       },\r
338       "interfaces": {\r
339         "DefaultComponentNode": {\r
340           "operations": {\r
341             "process": {\r
342               "inputs": {\r
343                 "action-name": {\r
344                   "description": "Recipe Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",\r
345                   "required": false,\r
346                   "type": "string"\r
347                 }\r
348               },\r
349               "outputs": {\r
350                 "resource-assignment-params": {\r
351                   "required": true,\r
352                   "type": "string"\r
353                 },\r
354                 "status": {\r
355                   "required": true,\r
356                   "type": "string"\r
357                 }\r
358               }\r
359             }\r
360           }\r
361         }\r
362       },\r
363       "derived_from": "tosca.nodes.component.Python"\r
364     }\r
365   },\r
366   "data_types": {\r
367     "sample-property": {\r
368       "description": "This is sample data type",\r
369       "version": "1.0.0",\r
370       "properties": {\r
371         "content": {\r
372           "required": false,\r
373           "type": "string"\r
374         },\r
375         "process-name": {\r
376           "required": false,\r
377           "type": "string"\r
378         },\r
379         "version": {\r
380           "required": false,\r
381           "type": "string",\r
382           "default": "LATEST"\r
383         }\r
384       },\r
385       "derived_from": "tosca.datatypes.Root"\r
386     }\r
387   }\r
388 }