Update vLB CDS Kotlin Package
[ccsdk/cds.git] / components / model-catalog / blueprint-model / service-blueprint / vLB_CDS_Kotlin / Definitions / vLB_CDS_KOTLIN.json
1 {\r
2   "tosca_definitions_version" : "controller_blueprint_1_0_0",\r
3   "metadata" : {\r
4     "template_author" : "Abdelmuhaimen Seaudi",\r
5     "author-email" : "abdelmuhaimen.seaudi@orange.com",\r
6     "user-groups" : "ADMIN, OPERATION",\r
7     "template_name" : "vLB_CDS_KOTLIN",\r
8     "template_version" : "1.0.0",\r
9     "template_tags" : "test, vDNS-CDS, SCALE-OUT, MARCO"\r
10   },\r
11   "imports" : [ {\r
12     "file" : "Definitions/data_types.json"\r
13   }, {\r
14     "file" : "Definitions/relationship_types.json"\r
15   }, {\r
16     "file" : "Definitions/artifact_types.json"\r
17   }, {\r
18     "file" : "Definitions/node_types.json"\r
19   }, {\r
20     "file" : "Definitions/policy_types.json"\r
21   } ],\r
22   "dsl_definitions" : {\r
23     "ipam-1" : {\r
24       "type" : "token-auth",\r
25       "url" : "http://netbox-nginx:8080",\r
26       "token" : "Token 0123456789abcdef0123456789abcdef01234567"\r
27     },\r
28     "config-deploy-properties" : {\r
29       "resolution-key" : {\r
30         "get_input" : "resolution-key"\r
31       }\r
32     },\r
33     "dynamic-db-source" : {\r
34       "type" : "maria-db",\r
35       "url" : "jdbc:mysql://mariadb-galera:3306/sdnctl",\r
36       "username" : "root",\r
37       "password" : "secretpassword"\r
38     }\r
39   },\r
40   "topology_template" : {\r
41     "workflows" : {\r
42       "resource-assignment" : {\r
43         "steps" : {\r
44           "resource-assignment" : {\r
45             "description" : "Resource Assign Workflow",\r
46             "target" : "resource-assignment"\r
47           }\r
48         },\r
49         "inputs" : {\r
50           "template-prefix" : {\r
51             "required" : true,\r
52             "type" : "list",\r
53             "entry_schema" : {\r
54               "type" : "string"\r
55             }\r
56           },\r
57           "resource-assignment-properties" : {\r
58             "description" : "Dynamic PropertyDefinition for workflow(resource-assignment).",\r
59             "required" : true,\r
60             "type" : "dt-resource-assignment-properties"\r
61           }\r
62         },\r
63         "outputs" : {\r
64           "meshed-template" : {\r
65             "type" : "json",\r
66             "value" : {\r
67               "get_attribute" : [ "resource-assignment", "assignment-params" ]\r
68             }\r
69           }\r
70         }\r
71       },\r
72       "config-assign" : {\r
73         "steps" : {\r
74           "config-assign" : {\r
75             "description" : "Config Assign Workflow",\r
76             "target" : "config-assign",\r
77             "activities" : [ {\r
78               "call_operation" : ""\r
79             } ]\r
80           }\r
81         },\r
82         "inputs" : {\r
83           "resolution-key" : {\r
84             "required" : true,\r
85             "type" : "string"\r
86           },\r
87           "config-assign-properties" : {\r
88             "description" : "Dynamic PropertyDefinition for workflow(config-assign).",\r
89             "required" : true,\r
90             "type" : "dt-config-assign-properties"\r
91           }\r
92         },\r
93         "outputs" : {\r
94           "dry-run" : {\r
95             "type" : "json",\r
96             "value" : {\r
97               "get_attribuxte" : [ "config-assign", "assignment-params" ]\r
98             }\r
99           }\r
100         }\r
101       },\r
102       "config-deploy" : {\r
103         "steps" : {\r
104           "config-deploy" : {\r
105             "description" : "Resource Assign and Kotlin Netconf Activation Workflow",\r
106             "target" : "config-deploy-process",\r
107             "activities" : [ {\r
108               "call_operation" : ""\r
109             } ]\r
110           }\r
111         },\r
112         "inputs" : {\r
113           "resolution-key" : {\r
114             "required" : false,\r
115             "type" : "string"\r
116           },\r
117           "service-instance-id" : {\r
118             "required" : false,\r
119             "type" : "string"\r
120           },\r
121           "config-deploy-properties" : {\r
122             "description" : "Dynamic PropertyDefinition for workflow(config-deploy).",\r
123             "required" : true,\r
124             "type" : "dt-config-deploy-properties"\r
125           }\r
126         }\r
127       }\r
128     },\r
129     "node_templates" : {\r
130       "resource-assignment" : {\r
131         "type" : "component-resource-resolution",\r
132         "interfaces" : {\r
133           "ResourceResolutionComponent" : {\r
134             "operations" : {\r
135               "process" : {\r
136                 "inputs" : {\r
137                   "artifact-prefix-names" : {\r
138                     "get_input" : "template-prefix"\r
139                   }\r
140                 }\r
141               }\r
142             }\r
143           }\r
144         },\r
145         "artifacts" : {\r
146           "base_template-template" : {\r
147             "type" : "artifact-template-velocity",\r
148             "file" : "Templates/base_template-template.vtl"\r
149           },\r
150           "base_template-mapping" : {\r
151             "type" : "artifact-mapping-resource",\r
152             "file" : "Templates/base_template-mapping.json"\r
153           },\r
154           "vpkg-template" : {\r
155             "type" : "artifact-template-velocity",\r
156             "file" : "Templates/vpkg-template.vtl"\r
157           },\r
158           "vpkg-mapping" : {\r
159             "type" : "artifact-mapping-resource",\r
160             "file" : "Templates/vpkg-mapping.json"\r
161           },\r
162           "vdns-template" : {\r
163             "type" : "artifact-template-velocity",\r
164             "file" : "Templates/vdns-template.vtl"\r
165           },\r
166           "vdns-mapping" : {\r
167             "type" : "artifact-mapping-resource",\r
168             "file" : "Templates/vdns-mapping.json"\r
169           },\r
170           "vnf-template" : {\r
171             "type" : "artifact-template-velocity",\r
172             "file" : "Templates/vnf-template.vtl"\r
173           },\r
174           "vnf-mapping" : {\r
175             "type" : "artifact-mapping-resource",\r
176             "file" : "Templates/vnf-mapping.json"\r
177           },\r
178           "vlb-template" : {\r
179             "type" : "artifact-template-velocity",\r
180             "file" : "Templates/vlb-template.vtl"\r
181           },\r
182           "vlb-mapping" : {\r
183             "type" : "artifact-mapping-resource",\r
184             "file" : "Templates/vlb-mapping.json"\r
185           }\r
186         }\r
187       },\r
188       "config-assign" : {\r
189         "type" : "component-resource-resolution",\r
190         "interfaces" : {\r
191           "ResourceResolutionComponent" : {\r
192             "operations" : {\r
193               "process" : {\r
194                 "inputs" : {\r
195                   "resolution-key" : {\r
196                     "get_input" : "resolution-key"\r
197                   },\r
198                   "store-result" : true,\r
199                   "artifact-prefix-names" : [ "baseconfig", "incremental-config" ]\r
200                 }\r
201               }\r
202             }\r
203           }\r
204         },\r
205         "artifacts" : {\r
206           "baseconfig-template" : {\r
207             "type" : "artifact-template-velocity",\r
208             "file" : "Templates/baseconfig-template.vtl"\r
209           },\r
210           "baseconfig-mapping" : {\r
211             "type" : "artifact-mapping-resource",\r
212             "file" : "Templates/baseconfig-mapping.json"\r
213           },\r
214           "incremental-config-template" : {\r
215             "type" : "artifact-template-velocity",\r
216             "file" : "Templates/incremental-config-template.vtl"\r
217           },\r
218           "incremental-config-mapping" : {\r
219             "type" : "artifact-mapping-resource",\r
220             "file" : "Templates/incremental-config-mapping.json"\r
221           }\r
222         }\r
223       },\r
224       "netconf-device" : {\r
225         "type" : "vnf-netconf-device",\r
226         "capabilities" : {\r
227           "netconf" : {\r
228             "properties" : {\r
229               "login-key" : "admin",\r
230               "login-account" : "admin",\r
231               "target-ip-address" : {\r
232                 "get_attribute" : [ "nf-account-collection", "", "assignment-params", "nf-params" ]\r
233               },\r
234               "port-number" : 2831,\r
235               "connection-time-out" : 5\r
236             }\r
237           }\r
238         }\r
239       },\r
240       "config-deploy-process" : {\r
241         "type" : "dg-generic",\r
242         "properties" : {\r
243           "content" : {\r
244             "get_artifact" : [ "SELF", "dg-config-deploy-process" ]\r
245           },\r
246           "dependency-node-templates" : [ "nf-account-collection", "execute" ]\r
247         },\r
248         "artifacts" : {\r
249           "dg-config-deploy-process" : {\r
250             "type" : "artifact-directed-graph",\r
251             "file" : "Plans/CONFIG_ConfigDeploy.xml"\r
252           }\r
253         }\r
254       },\r
255       "nf-account-collection" : {\r
256         "type" : "component-resource-resolution",\r
257         "interfaces" : {\r
258           "ResourceResolutionComponent" : {\r
259             "operations" : {\r
260               "process" : {\r
261                 "inputs" : {\r
262                   "artifact-prefix-names" : [ "nf-params" ]\r
263                 }\r
264               }\r
265             }\r
266           }\r
267         },\r
268         "artifacts" : {\r
269           "nf-params-template" : {\r
270             "type" : "artifact-template-velocity",\r
271             "file" : "Templates/nf-params-template.vtl"\r
272           },\r
273           "nf-params-mapping" : {\r
274             "type" : "artifact-mapping-resource",\r
275             "file" : "Templates/nf-params-mapping.json"\r
276           }\r
277         }\r
278       },\r
279       "execute" : {\r
280         "type" : "component-script-executor",\r
281         "requirements" : {\r
282           "netconf-connection" : {\r
283             "capability" : "netconf",\r
284             "node" : "netconf-device",\r
285             "relationship" : "tosca.relationships.ConnectsTo"\r
286           }\r
287         },\r
288         "interfaces" : {\r
289           "ComponentScriptExecutor" : {\r
290             "operations" : {\r
291               "process" : {\r
292                 "inputs" : {\r
293                   "script-type" : "kotlin",\r
294                   "script-class-reference" : "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.ConfigDeploy",\r
295                   "instance-dependencies" : [ ],\r
296                   "dynamic-properties" : "*config-deploy-properties"\r
297                 }\r
298               }\r
299             }\r
300           }\r
301         }\r
302       }\r
303     }\r
304   }\r
305 }