CDS Blueprint for vFW K8s Use Case
[demo.git] / heat / vFW_CNF_CDS / templates / cba / Templates / vnf-template.vtl
1 {
2   "resource-accumulator-resolved-data": [
3     {
4       "param-name": "service-instance-id",
5       "param-value": "${service-instance-id}"
6     },
7
8     {
9       "param-name": "vnf-model-customization-uuid",
10       "param-value": "${vnf-model-customization-uuid}"
11     },
12     {
13       "param-name": "aic-cloud-region",
14       "param-value": "${aic-cloud-region}"
15     },
16     {
17       "param-name": "vf-naming-policy",
18       "param-value": "${vf-naming-policy}"
19     },
20     {
21       "param-name": "image_name",
22       "param-value": "${image_name}"
23     },
24     {
25       "param-name": "flavor_name",
26       "param-value": "${flavor_name}"
27     },
28     {
29       "param-name": "public_net_id",
30       "param-value": "${public_net_id}"
31     },
32     {
33       "param-name": "int_private1_net_cidr",
34       "param-value": "${int_private1_net_cidr}"
35     },
36     {
37       "param-name": "int_private2_net_cidr",
38       "param-value": "${int_private2_net_cidr}"
39     },
40     {
41       "param-name": "onap_private_net_id",
42       "param-value": "${onap_private_net_id}"
43     },
44     {
45       "param-name": "onap_private_subnet_id",
46       "param-value": "${onap_private_subnet_id}"
47     },
48     {
49       "param-name": "onap_private_net_cidr",
50       "param-value": "${onap_private_net_cidr}"
51     },
52     {
53       "param-name": "demo_artifacts_version",
54       "param-value": "${demo_artifacts_version}"
55     },
56     {
57       "param-name": "install_script_version",
58       "param-value": "${install_script_version}"
59     },
60
61     {
62       "param-name": "pub_key",
63       "param-value": "${pub_key}"
64     },
65     {
66       "param-name": "cloud_env",
67       "param-value": "${cloud_env}"
68     },
69     {
70       "param-name": "sec_group",
71       "param-value": "${sec_group}"
72     },
73         {
74       "param-name": "nexus_artifact_repo",
75       "param-value": "${nexus_artifact_repo}"
76     },
77     {
78       "param-name": "k8s-rb-profile-name",
79       "param-value": "${k8s-rb-profile-name}"
80     },
81     {
82       "param-name": "int_private1_gw_ip",
83       "param-value": "${int_private1_gw_ip}"
84     },
85     {
86       "param-name": "int_private1_net_id",
87       "param-value": "${vnf_name}-unprotected-network"
88     },
89     {
90       "param-name": "int_private1_subnet_id",
91       "param-value": "${int_private1_net_id}-subnet-1"
92     },
93     {
94       "param-name": "int_private2_gw_ip",
95       "param-value": "${int_private2_gw_ip}"
96     },
97     {
98       "param-name": "int_private2_net_id",
99       "param-value": "${vnf_name}-protected-network"
100     },
101     {
102       "param-name": "int_private2_subnet_id",
103       "param-value": "${int_private2_net_id}-subnet-1"
104     },
105     {
106       "param-name": "onap_private_gw_ip",
107       "param-value": "${onap_private_gw_ip}"
108     }
109   ],
110   "capability-data": [
111     {
112       "capability-name": "generate-name",
113       "key-mapping": [
114         {
115           "payload": [
116             {
117               "param-name": "resource-name",
118               "param-value": "vnf_name"
119             },
120             {
121               "param-name": "resource-value",
122               "param-value": "${vnf_name}"
123             },
124             {
125               "param-name": "external-key",
126               "param-value": "${vnf-id}_vnf_name"
127             },
128             {
129               "param-name": "policy-instance-name",
130               "param-value": "${vf-naming-policy}"
131             },
132             {
133               "param-name": "naming-type",
134               "param-value": "VNF"
135             },
136             {
137               "param-name": "AIC_CLOUD_REGION",
138               "param-value": "${aic-cloud-region}"
139             }
140           ],
141           "output-key-mapping": [
142             {
143               "resource-name": "vnf_name",
144               "resource-value": "${vnf_name}"
145             }
146           ]
147         }
148       ]
149     },
150     {
151       "capability-name": "netbox-ip-assign",
152       "key-mapping": [
153         {
154           "payload": [
155             {
156               "param-name": "service-instance-id",
157               "param-value": "${service-instance-id}"
158             },
159             {
160               "param-name": "prefix-id",
161               "param-value": "${private2-prefix-id}"
162             },
163             {
164               "param-name": "vnf-id",
165               "param-value": "${vnf-id}"
166             },
167             {
168               "param-name": "external_key",
169               "param-value": "${vnf-id}-vfw_int_private2_ip_0"
170             }
171           ],
172           "output-key-mapping": [
173             {
174               "resource-name": "vfw_int_private2_ip_0",
175               "resource-value": "${vfw_int_private2_ip_0}"
176             }
177           ]
178         },
179         {
180           "payload": [
181             {
182               "param-name": "service-instance-id",
183               "param-value": "${service-instance-id}"
184             },
185             {
186               "param-name": "prefix-id",
187               "param-value": "${private1-prefix-id}"
188             },
189             {
190               "param-name": "vnf-id",
191               "param-value": "${vnf-id}"
192             },
193             {
194               "param-name": "external_key",
195               "param-value": "${vnf-id}-vfw_int_private1_ip_0"
196             }
197           ],
198           "output-key-mapping": [
199             {
200               "resource-name": "vfw_int_private1_ip_0",
201               "resource-value": "${vfw_int_private1_ip_0}"
202             }
203           ]
204         },
205         {
206           "payload": [
207             {
208               "param-name": "service-instance-id",
209               "param-value": "${service-instance-id}"
210             },
211             {
212               "param-name": "prefix-id",
213               "param-value": "${private1-prefix-id}"
214             },
215             {
216               "param-name": "vnf-id",
217               "param-value": "${vnf-id}"
218             },
219             {
220               "param-name": "external_key",
221               "param-value": "${vnf-id}-vfw_int_private2_floating_ip"
222             }
223           ],
224           "output-key-mapping": [
225             {
226               "resource-name": "vfw_int_private2_floating_ip",
227               "resource-value": "${vfw_int_private2_floating_ip}"
228             }
229           ]
230         },
231         {
232           "payload": [
233             {
234               "param-name": "service-instance-id",
235               "param-value": "${service-instance-id}"
236             },
237             {
238               "param-name": "prefix-id",
239               "param-value": "${private2-prefix-id}"
240             },
241             {
242               "param-name": "vnf-id",
243               "param-value": "${vnf-id}"
244             },
245             {
246               "param-name": "external_key",
247               "param-value": "${vnf-id}-vsn_int_private2_ip_0"
248             }
249           ],
250           "output-key-mapping": [
251             {
252               "resource-name": "vsn_int_private2_ip_0",
253               "resource-value": "${vsn_int_private2_ip_0}"
254             }
255           ]
256         },
257                 {
258           "payload": [
259             {
260               "param-name": "service-instance-id",
261               "param-value": "${service-instance-id}"
262             },
263             {
264               "param-name": "prefix-id",
265               "param-value": "${management-prefix-id}"
266             },
267             {
268               "param-name": "vnf-id",
269               "param-value": "${vnf-id}"
270             },
271             {
272               "param-name": "external_key",
273               "param-value": "${vnf-id}-vpg_onap_private_ip_0"
274             }
275           ],
276           "output-key-mapping": [
277             {
278               "resource-name": "vpg_onap_private_ip_0",
279               "resource-value": "${vpg_onap_private_ip_0}"
280             }
281           ]
282         },
283         {
284           "payload": [
285             {
286               "param-name": "service-instance-id",
287               "param-value": "${service-instance-id}"
288             },
289             {
290               "param-name": "prefix-id",
291               "param-value": "${private1-prefix-id}"
292             },
293             {
294               "param-name": "vnf-id",
295               "param-value": "${vnf-id}"
296             },
297             {
298               "param-name": "external_key",
299               "param-value": "${vnf-id}-vpg_int_private1_ip_0"
300             }
301           ],
302           "output-key-mapping": [
303             {
304               "resource-name": "vpg_int_private1_ip_0",
305               "resource-value": "${vpg_int_private1_ip_0}"
306             }
307           ]
308         }
309       ]
310     },
311     {
312       "capability-name": "aai-vnf-put",
313       "key-mapping": [
314         {
315           "payload": [
316             {
317               "param-name": "generic-vnf",
318               "param-value": "generic-vnf"
319             }
320           ],
321           "output-key-mapping": [
322             {
323               "resource-name": "aai-vnf-put",
324               "resource-value": "${status}"
325             }
326           ]
327         }
328       ]
329     }
330   ]
331 }