1 heat_template_version: 2014-10-16
4 HOT template to instantiate a single Contrail VLAN sub-interface with associated instance IP addresses and allowed address pairs
7 subinterface_instance_index:
9 description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
10 subinterface_name_prefix:
12 description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
15 description: Parent Contrail interface
18 description: MAC address to use for subinterface
21 description: IPv4 address associated with subinterfaces
24 description: IPv6 address associated with subinterfaces
27 description: virtual IPv4 address associated with subinterfaces
30 description: virtual IPv6 address associated with subinterfaces
32 type: comma_delimited_list
33 description: List of VLAN IDs to use for subinterfaces
35 type: comma_delimited_list
36 description: List of Contrail VLAN networks to use for the subinterfaces. The order and number of these must match the VLAN ID list
39 contrail_vmi_subinterface:
40 type: OS::ContrailV2::VirtualMachineInterface
46 $NAME: { get_param: subinterface_name_prefix }
47 $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
48 virtual_machine_interface_properties:
50 virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
52 virtual_machine_interface_mac_addresses:
54 virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
56 virtual_machine_interface_allowed_address_pairs:
58 virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
60 virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
61 virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
62 virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
64 virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
65 virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
69 virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
70 virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
71 virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
73 virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
74 virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
79 virtual_network_refs: [{ get_param: [ vlan_networks, { get_param: subinterface_instance_index } ] }]
80 virtual_machine_interface_refs: [{ get_param: parent_interface }]
83 type: OS::ContrailV2::InstanceIp
84 depends_on: [ contrail_vmi_subinterface ]
86 virtual_machine_interface_refs: [{ get_resource: contrail_vmi_subinterface }]
87 virtual_network_refs: [{ get_param: [ vlan_networks, { get_param: subinterface_instance_index } ] }]
88 instance_ip_address: { get_param: ip_address }
89 instance_ip_family: v4
92 type: OS::ContrailV2::InstanceIp
93 depends_on: [ contrail_vmi_subinterface ]
95 virtual_machine_interface_refs: [{ get_resource: contrail_vmi_subinterface }]
96 virtual_network_refs: [{ get_param: [ vlan_networks, { get_param: subinterface_instance_index } ] }]
97 instance_ip_address: { get_param: ipv6_address }
98 instance_ip_family: v6