1 heat_template_version: 2015-04-30
4 Template to take OPENECOMP input parameters and produce outputs
5 in the desired format for the underlying LCP HOT template files.
12 <cURL path>/<backup file>
13 This is only used for restore (aka "disaster recovery").
14 The value only needs to go to the OAM pair.
15 Note that there is a 255 character limit on this value.
20 Default action for all VMs. This may be overridden for
21 specific VM groups, pairs or VMs via the ENV file.
26 Separator used between parts of a cloud resource name
27 (e.g. between the stack ID and the rest of the name).
31 description: JSON formatted string of install config values.
35 description: Optional VLAN ID associated with the internal network.
40 description: Keypair used for lifecycle management access.
42 - custom_constraint: nova.keypair
47 Optional SSH public key value for lifecycle management
48 administrative access.
52 description: (optional) IPV4 DNS server.
57 description: (optional) IPV6 DNS server.
62 description: (optional) IPV4 ENUM server.
67 description: (optional) IPV6 ENUM server.
72 description: (optional) IPV4 NTP server.
77 description: (optional) IPV6 NTP server.
81 type: comma_delimited_list
82 description: CDL of subnet tags.
87 description: Unique ID for this VNF instance.
92 description: Unique name for this VNF instance.
97 description: Unique ID for this VNF Module instance.
102 description: Unique name for this VNF module instance.
107 description: Map NET types to the list of NET IDs.
111 description: Map NET types to the list of subnet IDs.
115 description: Map NET types to the list of CIDR values.
119 description: Map NET types to the list of default gateways.
123 description: Number of supported VM types.
127 type: comma_delimited_list
128 description: List of VM type tags.
134 Maps VM type tags to the number of pairs of that type.
139 description: Provides keys into type-specific parameters and vnic info.
143 type: comma_delimited_list
144 description: CDL of availability zones.
148 description: Maps VM type tags to the image ID for that type.
153 description: Maps VM type tags to the flavor ID for that type.
158 description: Maps IP list parameter names to the list.
162 description: Maps VM type tags to the list of VM names for that type.
164 # This parameter should always be defaulted.
166 type: comma_delimited_list
167 description: List of 2 digit list indexes.
168 default: ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"]
170 # This parameter should always be defaulted.
178 type: OS::Heat::ResourceGroup
180 count: {get_param: vmtype_count}
182 type: LCP-ATTGRP.template.yaml
184 vmtype_index: '%index%'
185 vmtype_list: {get_param: vmtype_list}
186 vm_info: {get_param: vm_info}
187 availability_zones: {get_param: availability_zones}
188 flavors: {get_param: flavors}
189 name_lists: {get_param: name_lists}
194 type: LCP-XlateL2J.template.yaml
196 info: {get_attr: [GROUPINFO, vmtype_info]}
202 <cURL path>/<backup file>
203 This is only used for restore (aka "disaster recovery").
204 The value only needs to go to the OAM pair.
205 Note that there is a 255 character limit on this value.
206 value: {get_param: backup_file}
210 Default action for all VMs. This may be overridden for
211 specific VM groups, pairs or VMs via the ENV file.
212 value: {get_param: default_action}
215 description: JSON formatted string of install config values.
216 value: {get_param: install_config}
219 description: Keypair used for lifecycle management access.
220 value: {get_param: lcm_keypair}
224 Optional SSH public key value for lifecycle management
225 administrative access.
226 value: {get_param: ssh_access_key}
229 description: External network info.
232 template: {str_replace: { template: "{ $val }", params: {
233 $val: {list_join: [',', {repeat: {template: "\"$tag<%idx%>\": { \"id\": \"$net<%idx%>\", \"subnet_id\": \"$subnet<%idx%>\", \"cidr\": \"$cidr<%idx%>\", \"default_gateway\": \"$defgw<%idx%>\" }", for_each: {<%idx%>: {get_param: count_str_list}}}}]} }}}
235 $tag00: {get_param: [net_types, 0]}
236 $net00: {get_param: [net_ids, {get_param: [net_types, 0]}]}
237 $subnet00: {get_param: [subnet_ids, {get_param: [net_types, 0]}]}
238 $cidr00: {get_param: [cidrs, {get_param: [net_types, 0]}]}
239 $defgw00: {get_param: [default_gateways, {get_param: [net_types, 0]}]}
240 $tag01: {get_param: [net_types, 1]}
241 $net01: {get_param: [net_ids, {get_param: [net_types, 1]}]}
242 $subnet01: {get_param: [subnet_ids, {get_param: [net_types, 1]}]}
243 $cidr01: {get_param: [cidrs, {get_param: [net_types, 1]}]}
244 $defgw01: {get_param: [default_gateways, {get_param: [net_types, 1]}]}
245 $tag02: {get_param: [net_types, 2]}
246 $net02: {get_param: [net_ids, {get_param: [net_types, 2]}]}
247 $subnet02: {get_param: [subnet_ids, {get_param: [net_types, 2]}]}
248 $cidr02: {get_param: [cidrs, {get_param: [net_types, 2]}]}
249 $defgw02: {get_param: [default_gateways, {get_param: [net_types, 2]}]}
250 $tag03: {get_param: [net_types, 3]}
251 $net03: {get_param: [net_ids, {get_param: [net_types, 3]}]}
252 $subnet03: {get_param: [subnet_ids, {get_param: [net_types, 3]}]}
253 $cidr03: {get_param: [cidrs, {get_param: [net_types, 3]}]}
254 $defgw03: {get_param: [default_gateways, {get_param: [net_types, 3]}]}
255 $tag04: {get_param: [net_types, 4]}
256 $net04: {get_param: [net_ids, {get_param: [net_types, 4]}]}
257 $subnet04: {get_param: [subnet_ids, {get_param: [net_types, 4]}]}
258 $cidr04: {get_param: [cidrs, {get_param: [net_types, 4]}]}
259 $defgw04: {get_param: [default_gateways, {get_param: [net_types, 4]}]}
260 $tag05: {get_param: [net_types, 5]}
261 $net05: {get_param: [net_ids, {get_param: [net_types, 5]}]}
262 $subnet05: {get_param: [subnet_ids, {get_param: [net_types, 5]}]}
263 $cidr05: {get_param: [cidrs, {get_param: [net_types, 5]}]}
264 $defgw05: {get_param: [default_gateways, {get_param: [net_types, 5]}]}
268 String that will evaluate to the total number of VM pairs.
271 template: {list_join: ['+', {repeat: {template: "$v<%vidx%>$z<%vidx%>",
272 for_each: {<%vidx%>: {get_param: count_str_list}}}}]}
274 $v00: {get_param: [vm_counts, {get_param: [vmtype_list, 0]}]}
275 $z00: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 0]}]}]}
276 $v01: {get_param: [vm_counts, {get_param: [vmtype_list, 1]}]}
277 $z01: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 1]}]}]}
278 $v02: {get_param: [vm_counts, {get_param: [vmtype_list, 2]}]}
279 $z02: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 2]}]}]}
280 $v03: {get_param: [vm_counts, {get_param: [vmtype_list, 3]}]}
281 $z03: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 3]}]}]}
282 $v04: {get_param: [vm_counts, {get_param: [vmtype_list, 4]}]}
283 $z04: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 4]}]}]}
284 $v05: {get_param: [vm_counts, {get_param: [vmtype_list, 5]}]}
285 $z05: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 5]}]}]}
286 $v06: {get_param: [vm_counts, {get_param: [vmtype_list, 6]}]}
287 $z06: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 6]}]}]}
288 $v07: {get_param: [vm_counts, {get_param: [vmtype_list, 7]}]}
289 $z07: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 7]}]}]}
290 $v08: {get_param: [vm_counts, {get_param: [vmtype_list, 8]}]}
291 $z08: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 8]}]}]}
292 $v09: {get_param: [vm_counts, {get_param: [vmtype_list, 9]}]}
293 $z09: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 9]}]}]}
294 $v10: {get_param: [vm_counts, {get_param: [vmtype_list, 10]}]}
295 $z10: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 10]}]}]}
296 $v11: {get_param: [vm_counts, {get_param: [vmtype_list, 11]}]}
297 $z11: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 11]}]}]}
298 $v12: {get_param: [vm_counts, {get_param: [vmtype_list, 12]}]}
299 $z12: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 12]}]}]}
300 $v13: {get_param: [vm_counts, {get_param: [vmtype_list, 13]}]}
301 $z13: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 13]}]}]}
302 $v14: {get_param: [vm_counts, {get_param: [vmtype_list, 14]}]}
303 $z14: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 14]}]}]}
304 $v15: {get_param: [vm_counts, {get_param: [vmtype_list, 15]}]}
305 $z15: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 15]}]}]}
306 $v16: {get_param: [vm_counts, {get_param: [vmtype_list, 16]}]}
307 $z16: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 16]}]}]}
308 $v17: {get_param: [vm_counts, {get_param: [vmtype_list, 17]}]}
309 $z17: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 17]}]}]}
310 $v18: {get_param: [vm_counts, {get_param: [vmtype_list, 18]}]}
311 $z18: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 18]}]}]}
312 $v19: {get_param: [vm_counts, {get_param: [vmtype_list, 19]}]}
313 $z19: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 19]}]}]}
314 $v20: {get_param: [vm_counts, {get_param: [vmtype_list, 20]}]}
315 $z20: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 20]}]}]}
316 $v21: {get_param: [vm_counts, {get_param: [vmtype_list, 21]}]}
317 $z21: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 21]}]}]}
318 $v22: {get_param: [vm_counts, {get_param: [vmtype_list, 22]}]}
319 $z22: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 22]}]}]}
320 $v23: {get_param: [vm_counts, {get_param: [vmtype_list, 23]}]}
321 $z23: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 23]}]}]}
322 $v24: {get_param: [vm_counts, {get_param: [vmtype_list, 24]}]}
323 $z24: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 24]}]}]}
327 Maps VM type tags to the number of pairs of that type.
328 value: {get_param: vm_counts}
331 description: Usage info JSON map.
333 "int_vlan_id": {get_param: int_vlan_id},
334 "cloud_name_delimiter": {get_param: cloud_name_delimiter},
337 "0": {get_param: [images, {get_param: [vmtype_list, 0]}]},
338 "1": {get_param: [images, {get_param: [vmtype_list, 0]}]}
341 "0": {get_param: [availability_zones, 0]},
342 "1": {get_param: [availability_zones, 1]}
348 "binding_type": "normal"
350 "v4_dns_server": {get_param: v4_dns_server},
351 "v6_dns_server": {get_param: v6_dns_server},
352 "v4_enum_server": {get_param: v4_enum_server},
353 "v6_enum_server": {get_param: v6_enum_server},
354 "v4_ntp_server": {get_param: v4_ntp_server},
355 "v6_ntp_server": {get_param: v6_ntp_server},
356 "vnf_id": {get_param: vnf_id},
357 "vnf_name": {get_param: vnf_name},
358 "vnf_module_id": {get_param: vnf_module_id},
359 "vnf_module_name": {get_param: vnf_module_name},
360 "ATT_ip_lists": {get_param: ip_lists},
361 "ATT_vm_info": {get_param: vm_info},
362 "group_info": {get_attr: [GROUPXLATE, jout]}