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