summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/vlan_subinterface_dual.yaml
blob: 8ee34a12655c8a28543354c4519f01ae99385b8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
heat_template_version: 2014-10-16

description: >
  HOT template to instantiate a single Contrail VLAN sub-interface with associated instance IP addresses and allowed address pairs

parameters:
  perimeta_subinterface_instance_index:
    # constraint copied from parent module
    type: number
    description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
    constraints:
    - range: { min: 1, max: 1001 }
      description: perimeta_subinterface_instance_index must be between 1 and 1001
  perimeta_subinterface_name_prefix:
    type: string
    description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
  perimeta_parent_interface:
    type: string
    description: Parent Contrail interface
  perimeta_mac_address:
    type: string
    description: MAC address to use for subinterface
  perimeta_ip_0:
    type: string
    description: IPv4 address associated with subinterfaces
  perimeta_v6_ip_0:
    type: string
    description: IPv6 address associated with subinterfaces
  perimeta_vip_0:
    type: string
    description: virtual IPv4 address associated with subinterfaces
  perimeta_v6_vip_0:
    type: string
    description: virtual IPv6 address associated with subinterfaces
  perimeta_vlan_ids:
    type: comma_delimited_list
    description: List of VLAN IDs to use for subinterfaces
  perimeta_vlan_networks:
    type: comma_delimited_list
    description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list

resources:
  contrail_vmi_subinterface:
    type: OS::ContrailV2::VirtualMachineInterface
    properties:
      name:
        str_replace:
          template: $NAME_$VLAN
          params:
            $NAME: { get_param: perimeta_subinterface_name_prefix }
            $VLAN: { get_param: [ perimeta_vlan_ids, { get_param: perimeta_subinterface_instance_index } ] }
      virtual_machine_interface_properties:
        {
          virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: [ perimeta_vlan_ids, { get_param: perimeta_subinterface_instance_index } ] }
        }
      virtual_machine_interface_mac_addresses:
        {
        virtual_machine_interface_mac_addresses_mac_address: [{ get_param: perimeta_mac_address }],
        }
      virtual_machine_interface_allowed_address_pairs:
        {
        virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
            {
              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: perimeta_mac_address },
              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
              {
                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: perimeta_vip_0 },
                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
              }
            },
            {
              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: perimeta_mac_address },
              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
              {
                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: perimeta_v6_vip_0 },
                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
              }
            }
          ]
        }
      virtual_network_refs: [{ get_param: [ perimeta_vlan_networks, { get_param: perimeta_subinterface_instance_index } ] }]
      virtual_machine_interface_refs: [{ get_param: perimeta_parent_interface }]

  contrail_vmi_ip:
    type: OS::ContrailV2::InstanceIp
    depends_on: [ contrail_vmi_subinterface ]
    properties:
      virtual_machine_interface_refs: [{ get_resource: contrail_vmi_subinterface }]
      virtual_network_refs: [{ get_param: [ perimeta_vlan_networks, { get_param: perimeta_subinterface_instance_index } ] }]
      instance_ip_address: { get_param:  perimeta_ip_0 }
      instance_ip_family: v4

  contrail_vmi_ipv6:
    type: OS::ContrailV2::InstanceIp
    depends_on: [ contrail_vmi_subinterface ]
    properties:
      virtual_machine_interface_refs: [{ get_resource: contrail_vmi_subinterface }]
      virtual_network_refs: [{ get_param: [ perimeta_vlan_networks, { get_param: perimeta_subinterface_instance_index } ] }]
      instance_ip_address: { get_param:  perimeta_v6_ip_0 }
      instance_ip_family: v6