5f7fa0e274e5333f6f940164544df570dbe0b672
[demo.git] / heat / vFW_CNF_CDS / templates / cba / Definitions / vFW_CNF_CDS.json
1 {
2   "tosca_definitions_version" : "controller_blueprint_1_0_0",
3   "metadata" : {
4     "template_author" : "Samuli Silvius <s.silvius@partner.samsung.com>",
5     "author-email" : "abdelmuhaimen.seaudi@orange.com",
6     "user-groups" : "ADMIN, OPERATION",
7     "template_name" : "vFW_CNF_CDS",
8     "template_version" : "1.0.25",
9     "template_tags" : "Samuli Silvius, vFW_CNF_CDS",
10     "template_type" : "DEFAULT"
11   },
12   "imports" : [ {
13     "file" : "Definitions/data_types.json"
14   }, {
15     "file" : "Definitions/relationship_types.json"
16   }, {
17     "file" : "Definitions/artifact_types.json"
18   }, {
19     "file" : "Definitions/node_types.json"
20   }, {
21     "file" : "Definitions/policy_types.json"
22   } ],
23   "dsl_definitions" : {
24     "vpkg-rest-api" : {
25       "type" : "basic-auth",
26       "url" : "http://",
27       "username" : "admin",
28       "password" : "admin"
29     },
30     "multicloud-k8s-api" : {
31       "type" : "basic-auth",
32       "username" : "admin",
33       "password" : "admin",
34       "url" : "http://multicloud-k8s:9015"
35     },
36     "profile-upload-properties" : {
37       "assignment-params": {
38         "get_attribute" : [ "resource-assignment", "assignment-params" ]
39       },
40       "profile-modification-decision-data": {
41         "get_input" : "vpg-management-port"
42       },
43       "profile-artifacts": {
44         "get_attribute" : [ "profile-modification", "assignment-params" ]
45       },
46       "api-access": "*multicloud-k8s-api"
47     },
48     "config-deploy-properties" : {
49       "resolution-key" : {
50         "get_input" : "resolution-key"
51       }
52     },
53     "dynamic-db-source" : {
54       "type" : "maria-db",
55       "url" : "jdbc:mysql://mariadb-galera:3306/sdnctl",
56       "username" : "root",
57       "password" : "secretpassword"
58     }
59   },
60   "topology_template" : {
61     "workflows" : {
62       "resource-assignment" : {
63         "steps" : {
64           "resource-assignment" : {
65             "description" : "Resource Assign Workflow",
66             "target" : "resource-assignment",
67             "activities": [
68               {
69                 "call_operation": "ResourceResolutionComponent.process"
70               }
71             ],
72             "on_success": [
73               "profile-modification"
74             ]
75           },
76           "profile-modification" : {
77             "description" : "Profile Modification Resources",
78             "target" : "profile-modification",
79             "activities": [
80               {
81                 "call_operation": "ResourceResolutionComponent.process"
82               }
83             ],
84             "on_success": [
85               "profile-upload"
86             ]
87           },
88           "profile-upload" : {
89             "description" : "Upload K8s Profile",
90             "target" : "profile-upload",
91             "activities": [
92               {
93                 "call_operation": "ComponentScriptExecutor.process"
94               }
95             ]
96           }
97         },
98         "inputs" : {
99           "template-prefix" : {
100             "required" : true,
101             "type" : "list",
102             "entry_schema" : {
103               "type" : "string"
104             }
105           },
106           "resolution-key" : {
107             "required" : false,
108             "type" : "string",
109             "entry_schema" : {
110               "type" : ""
111             }
112           },
113           "resource-assignment-properties" : {
114             "description" : "Dynamic PropertyDefinition for workflow(resource-assignment).",
115             "required" : true,
116             "type" : "dt-resource-assignment-properties"
117           }
118         },
119         "outputs" : {
120           "meshed-template" : {
121             "type" : "json",
122             "value" : {
123               "get_attribute" : [ "resource-assignment", "assignment-params" ]
124             }
125           }
126         }
127       },
128       "config-deploy" : {
129         "steps" : {
130           "config-deploy" : {
131             "description" : "Config Deploy Workflow",
132             "target" : "config-deploy-process"
133           }
134         },
135         "inputs" : {
136           "config-deploy-properties" : {
137             "description" : "Dynamic PropertyDefinition for workflow(config-deploy).",
138             "required" : true,
139             "type" : "dt-config-deploy-properties"
140           }
141         },
142         "outputs" : {
143           "dry-run" : {
144             "type" : "json",
145             "value" : {
146               "get_attribute" : [ "config-deploy-process", "assignment-params" ]
147             }
148           }
149         }
150       }
151     },
152     "node_templates" : {
153       "resource-assignment" : {
154         "type" : "component-resource-resolution",
155         "interfaces" : {
156           "ResourceResolutionComponent" : {
157             "operations" : {
158               "process" : {
159                 "inputs" : {
160                   "artifact-prefix-names" : {
161                     "get_input" : "template-prefix"
162                   }
163                 }
164               }
165             }
166           }
167         },
168         "artifacts" : {
169           "base_template-template" : {
170             "type" : "artifact-template-velocity",
171             "file" : "Templates/base_template-template.vtl"
172           },
173           "base_template-mapping" : {
174             "type" : "artifact-mapping-resource",
175             "file" : "Templates/base_template-mapping.json"
176           },
177           "vpkg-template" : {
178             "type" : "artifact-template-velocity",
179             "file" : "Templates/vpkg-template.vtl"
180           },
181           "vpkg-mapping" : {
182             "type" : "artifact-mapping-resource",
183             "file" : "Templates/vpkg-mapping.json"
184           },
185           "vfw-template" : {
186             "type" : "artifact-template-velocity",
187             "file" : "Templates/vfw-template.vtl"
188           },
189           "vfw-mapping" : {
190             "type" : "artifact-mapping-resource",
191             "file" : "Templates/vfw-mapping.json"
192           },
193           "vnf-template" : {
194             "type" : "artifact-template-velocity",
195             "file" : "Templates/vnf-template.vtl"
196           },
197           "vnf-mapping" : {
198             "type" : "artifact-mapping-resource",
199             "file" : "Templates/vnf-mapping.json"
200           },
201           "vsn-template" : {
202             "type" : "artifact-template-velocity",
203             "file" : "Templates/vsn-template.vtl"
204           },
205           "vsn-mapping" : {
206             "type" : "artifact-mapping-resource",
207             "file" : "Templates/vsn-mapping.json"
208           }
209         }
210       },
211       "profile-modification" : {
212         "type" : "component-resource-resolution",
213         "interfaces" : {
214           "ResourceResolutionComponent" : {
215             "operations" : {
216               "process" : {
217                 "inputs" : {
218                   "artifact-prefix-names" : [ "ssh-service" ]
219                 }
220               }
221             }
222           }
223         },
224         "artifacts" : {
225           "ssh-service-template" : {
226             "type" : "artifact-template-velocity",
227             "file" : "Templates/k8s-profiles/ssh-service-template.vtl"
228           },
229           "ssh-service-mapping" : {
230             "type" : "artifact-mapping-resource",
231             "file" : "Templates/k8s-profiles/ssh-service-mapping.json"
232           }
233         }
234       },
235       "profile-upload" : {
236         "type" : "component-script-executor",
237         "interfaces" : {
238           "ComponentScriptExecutor" : {
239             "operations" : {
240               "process" : {
241                 "inputs" : {
242                   "script-type" : "kotlin",
243                   "script-class-reference" : "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.K8sProfileUpload",
244                   "dynamic-properties" : "*profile-upload-properties"
245                 }
246               }
247             }
248           }
249         }
250       },
251       "config-deploy-process" : {
252         "type" : "component-resource-resolution",
253         "interfaces" : {
254           "ResourceResolutionComponent" : {
255             "operations" : {
256               "process" : {
257                 "inputs" : {
258                   "artifact-prefix-names" : [ "nf-params" ]
259                 }
260               }
261             }
262           }
263         },
264         "artifacts" : {
265           "nf-params-template" : {
266             "type" : "artifact-template-velocity",
267             "file" : "Templates/nf-params-template.vtl"
268           },
269           "nf-params-mapping" : {
270             "type" : "artifact-mapping-resource",
271             "file" : "Templates/nf-params-mapping.json"
272           }
273         }
274       }
275     }
276   }
277 }