summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/vlan_subinterface_dual.yaml
blob: 5d0a72920c08aafe5cca11715295f0e92a9d1f79 (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
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:
  subinterface_instance_index:
    type: number
    description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
  subinterface_name_prefix:
    type: string
    description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
  parent_interface:
    type: string
    description: Parent Contrail interface
  mac_address:
    type: string
    description: MAC address to use for subinterface
  ip_address:
    type: string
    description: IPv4 address associated with subinterfaces
  ipv6_address:
    type: string
    description: IPv6 address associated with subinterfaces
  virtual_ip_address:
    type: string
    description: virtual IPv4 address associated with subinterfaces
  virtual_ipv6_address:
    type: string
    description: virtual IPv6 address associated with subinterfaces
  vlan_ids:
    type: comma_delimited_list
    description: List of VLAN IDs to use for subinterfaces
  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: subinterface_name_prefix }
            $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
      virtual_machine_interface_properties:
        {
          virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
        }
      virtual_machine_interface_mac_addresses:
        {
        virtual_machine_interface_mac_addresses_mac_address: [{ get_param: 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: 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: virtual_ip_address },
                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: 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: virtual_ipv6_address },
                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
              }
            }
          ]
        }
      virtual_network_refs: [{ get_param: [ vlan_networks, { get_param: subinterface_instance_index } ] }]
      virtual_machine_interface_refs: [{ get_param: 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: [ vlan_networks, { get_param: subinterface_instance_index } ] }]
      instance_ip_address: { get_param:  ip_address }
      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: [ vlan_networks, { get_param: subinterface_instance_index } ] }]
      instance_ip_address: { get_param:  ipv6_address }
      instance_ip_family: v6