5.2.5.9. Contrail Resource Parameters
ONAP requires the parameter names of certain Contrail Resources to follow specific naming conventions. This section provides these requirements.
5.2.5.9.1. Contrail Network Parameters
Contrail based resources may require references to a Contrail network using the network FQDN.
5.2.5.9.1.1. ONAP External Networks
Requirement: R-02164
|
When a VNF’s Heat Orchestration Template’s Contrail resource
|
Requirement: R-92193
|
A VNF’s Heat Orchestration Template’s Contrail resource
|
Example: Parameter declaration
parameters:
{network-role}_net_fqdn:
type: string
description: Contrail FQDN for the {network-role} network
Example: Contrail Resource OS::ContrailV2::VirtualMachineInterface Reference to a Network FQDN.
In this example, the {network-role}
has been defined as oam to represent
an oam network and the {vm-type}
has been defined as fw for firewall.
The Contrail resource OS::ContrailV2::VirtualMachineInterface
property
virtual_network_refs
references a contrail network FQDN.
fw_0_oam_vmi_0:
type: OS::ContrailV2::VirtualMachineInterface
properties:
name:
str_replace:
template: VM_NAME_virtual_machine_interface_1
params:
VM_NAME: { get_param: fw_name_0 }
virtual_machine_interface_properties:
virtual_machine_interface_properties_service_interface_type: {
get_param: oam_protected_interface_type }
virtual_network_refs:
- get_param: oam_net_fqdn
security_group_refs:
- get_param: fw_sec_grp_id
5.2.5.9.2. Interface Route Table Prefixes for Contrail InterfaceRoute Table
Requirement: R-28222
|
If a VNF’s Heat Orchestration Template
|
Requirement: R-19756
|
If a VNF’s Heat Orchestration Template
|
Requirement: R-76682
|
If a VNF’s Heat Orchestration Template
|
The parameter {vm-type}_{network-role}_route_prefixes
supports IP addresses in the format:
Host IP Address (e.g., 10.10.10.10)
CIDR Notation format (e.g., 10.0.0.0/28)
Example Parameter Definition
parameters:
{vm-type}_{network-role}_route_prefixes:
type: json
description: JSON list of Contrail Interface Route Table route prefixes
Example:
parameters:
vnf_name:
type: string
description: Unique name for this VF instance
fw_oam_route_prefixes:
type: json
description: prefix for the ServiceInstance InterfaceRouteTable
int_fw_dns_trusted_interface_type:
type: string
description: service_interface_type for ServiceInstance
resources:
<resource name>:
type: OS::ContrailV2::InterfaceRouteTable
depends_on: [resource name of OS::ContrailV2::ServiceInstance]
properties:
name:
str_replace:
template: VNF_NAME_interface_route_table
params:
VNF_NAME: { get_param: vnf_name }
interface_route_table_routes:
interface_route_table_routes_route: { get_param: fw_oam_route_prefixes }
service_instance_refs:
- get_resource: <resource name of OS::ContrailV2::ServiceInstance>
service_instance_refs_data:
- service_instance_refs_data_interface_type: { get_param: oam_interface_type }
5.2.5.9.3. Resource OS::ContrailV2::InstanceIp
The Contrail resource OS::ContrailV2::InstanceIp
has two properties
that parameters MUST follow an explicit naming convention. The
properties are instance_ip_address
and subnet_uuid
.
Example OS::ContrailV2::InstanceIp Resource
<resource ID>:
type: OS::ContrailV2::InstanceIp
properties:
name: { get_param: name }
fq_name: { get_param: fq_name }
display_name: { get_param: display_name }
secondary_ip_tracking_ip:
{
secondary_ip_tracking_ip_ip_prefix: { get_param: secondary_ip_tracking_ip_ip_prefix },
secondary_ip_tracking_ip_ip_prefix_len: { get_param: secondary_ip_tracking_ip_ip_prefix_len },
}
instance_ip_address: { get_param: instance_ip_address }
instance_ip_mode: { get_param: instance_ip_mode }
subnet_uuid: { get_param: subnet_uuid }
instance_ip_family: { get_param: instance_ip_family }
annotations:
{
annotations_key_value_pair:
[{
annotations_key_value_pair_key: { get_param: annotations_key_value_pair_key },
annotations_key_value_pair_value: { get_param: annotations_key_value_pair_value },
}],
}
instance_ip_local_ip: { get_param: instance_ip_local_ip }
instance_ip_secondary: { get_param: instance_ip_secondary }
physical_router_refs: [{ get_param: physical_router_refs }]
virtual_machine_interface_refs: [{ get_param: virtual_machine_interface_refs }]
virtual_network_refs: [{ get_param: virtual_network_refs }]
5.2.5.9.3.1. Resource OS::ContrailV2::InstanceIp Property instance_ip_address
A VNF’s Heat Orchestration Templates resource OS::ContrailV2::InstanceIp
property instance_ip_address
parameter
MUST follow the same requirements
that apply to the resource OS::Neutron
property fixed_ips
map
property ip_address
parameter.
Requirement: R-100000
|
The VNF’s Heat Orchestration Template’s
resource |
Requirement: R-100010
|
When the VNF’s Heat Orchestration Template’s Resource
where
|
Requirement: R-100020
|
The VNF’s Heat Orchestration Template’s Resource
|
ONAP’s SDN-Controller assigns the IP Address and ONAP provides the value at orchestration to the Heat Orchestration Template.
Example ONAP External Network IPv4 Address string Parameter Definition
parameters:
{vm-type}_{network-role}_ip_{index}:
type: string
description: Fixed IPv4 assignment for {vm-type} VM {index} on the {network-role} network
Requirement: R-100030
|
When the VNF’s Heat Orchestration Template’s Resource
|
Requirement: R-100040
|
The VNF’s Heat Orchestration Template’s Resource
|
ONAP’s SDN-Controller assigns the IP Address and ONAP provides the value at orchestration to the Heat Orchestration Template.
Example External Network IPv4 Address comma_delimited_list Parameter Definition
parameters:
{vm-type}_{network-role}_ips:
type: comma_delimited_list
description: Fixed IPv4 assignments for {vm-type} VMs on the {network-role} network
Requirement: R-100050
|
When the VNF’s Heat Orchestration Template’s Resource
where
|
Requirement: R-100060
|
The VNF’s Heat Orchestration Template’s Resource
|
ONAP’s SDN-Controller assigns the IP Address and ONAP provides the value at orchestration to the Heat Orchestration Template.
Example ONAP External Network IPv6 Address string Parameter Definition
parameters:
{vm-type}_{network-role}_v6_ip_{index}:
type: string
description: Fixed IPv6 assignment for {vm-type} VM {index} on the {network-role} network
Requirement: R-100070
|
When the VNF’s Heat Orchestration Template’s Resource
where
|
Requirement: R-100080
|
The VNF’s Heat Orchestration Template’s Resource
|
ONAP’s SDN-Controller assigns the IP Address and ONAP provides the value at orchestration to the Heat Orchestration Template.
Example ONAP External Network IPv6 Address comma_delimited_list Parameter Definition
parameters:
{vm-type}_{network-role}_v6_ips:
type: comma_delimited_list
description: Fixed IPv6 assignments for {vm-type} VMs on the {network-role} network
Requirement: R-100090
|
When the VNF’s Heat Orchestration Template’s Resource
where
|
Requirement: R-100100
|
The VNF’s Heat Orchestration Template’s Resource
|
The IP address is local to the VNF’s ONAP internal network and is (re)used in every VNF spin up, thus the constant value is declared in the VNF’s Heat Orchestration Template’s Environment File.
Example ONAP Internal Network IPv4 Address string Parameter Definition
parameters:
{vm-type}_int_{network-role}_ip_{index}:
type: string
description: Fixed IPv4 assignment for {vm-type} VM {index} on the int_{network-role} network
Requirement: R-100110
|
When the VNF’s Heat Orchestration Template’s Resource
where
|
Requirement: R-100120
|
The VNF’s Heat Orchestration Template’s Resource
|
The IP address is local to the VNF’s ONAP internal network and is (re)used in every VNF spin up, thus the constant value is declared in the VNF’s Heat Orchestration Template’s Environment File.
Example ONAP Internal Network IPv4 Address comma_delimited_list Parameter Definition
parameters:
{vm-type}_int_{network-role}_ips:
type: comma_delimited_list
description: Fixed IPv4 assignments for {vm-type} VMs on the int_{network-role} network
Requirement: R-100130
|
When the VNF’s Heat Orchestration Template’s Resource
where
|
Requirement: R-100140
|
The VNF’s Heat Orchestration Template’s Resource
|
The IP address is local to the VNF’s ONAP internal network and is (re)used in every VNF spin up, thus the constant value is declared in the VNF’s Heat Orchestration Template’s Environment File.
Example ONAP Internal Network IPv6 Address string Parameter Definition
parameters:
{vm-type}_int_{network-role}_v6_ip_{index}:
type: string
description: Fixed IPv6 assignment for {vm-type} VM {index} on the int_{network-role} network
Requirement: R-100150
|
When the VNF’s Heat Orchestration Template’s Resource
where
|
Requirement: R-100160
|
The VNF’s Heat Orchestration Template’s Resource
|
The IP address is local to the VNF’s ONAP internal network and is (re)used in every VNF spin up, thus the constant value is declared in the VNF’s Heat Orchestration Template’s Environment File.
Example ONAP Internal Network IPv6 Address comma_delimited_list Parameter Definition
parameters:
{vm-type}_int_{network-role}_v6_ips:
type: comma_delimited_list
description: Fixed IPv6 assignments for {vm-type} VMs on the int_{network-role} network
Requirement: R-100170
|
The VNF’s Heat Orchestration Template’s Resource
MUST NOT be enumerated in the Heat Orchestration Template’s Environment File. ONAP provides the IP address assignments at orchestration time. |
Requirement: R-100180
|
The VNF’s Heat Orchestration Template’s Resource
MUST be enumerated in the Heat Orchestration Template’s Environment File and IP addresses MUST be assigned. |
Example: Contrail Resource OS::ContrailV2::InstanceIp, Property instance_ip_address
The property instance_ip_address uses the same parameter naming convention as the property fixed_ips and Map Property ip_address in OS::Neutron::Port. The resource is assigning an ONAP SDN-C Assigned IP Address. The {network-role} has been defined as oam_protected to represent an oam protected network and the {vm-type} has been defined as fw for firewall.
fw_0_oam_protected_vmi_0_IP_0:
type: OS::ContrailV2::InstanceIp
depends_on:
- fw_0_oam_protected_vmi_0
properties:
virtual_machine_interface_refs:
- get_resource: fw_0_oam_protected_vmi_0
virtual_network_refs:
- get_param: oam_protected_net_fqdn
instance_ip_address: { get_param: [fw_oam_protected_ips, get_param: index ] }
5.2.5.9.3.2. Resource OS::ContrailV2::InstanceIp Property subnet_uuid
A VNF’s Heat Orchestration Templates resource OS::ContrailV2::InstanceIp
property subnet_uuid
parameter
MUST follow the same requirements
that apply to the resource OS::Neutron
property fixed_ips
map
property subnet
parameter.
The resource OS::ContrailV2::InstanceIp
property
subnet_uuid
parameter is used when a
port is requesting an IP assignment via
OpenStack’s DHCP Service (i.e., cloud assigned).
The IP address assignment will be made from the specified subnet.
Specifying the subnet is not required; it is optional.
If the network (external or internal) that the port is attaching to only contains one subnet, specifying the subnet is superfluous. The IP address will be assigned from the one existing subnet.
If the network (external or internal) that the port is attaching
to contains two or more subnets, specifying the subnet in the
instance_ip_address
property determines which
subnet the IP address will be assigned from.
If the network (external or internal) that the port is attaching to contains two or more subnets, and the subnet is not is not specified, OpenStack will randomly determine which subnet the IP address will be assigned from.
The property instance_ip_address
is used to assign IPs to a port.
The property subnet_uuid
specifies the subnet the IP is assigned from.
Requirement: R-100190
|
The VNF’s Heat Orchestration Template’s
resource |
Requirement: R-100200
|
When the VNF’s Heat Orchestration Template’s
resource
where
|
Note that ONAP only supports cloud assigned IP addresses from one IPv4 subnet of a given network.
Requirement: R-100210
|
The VNF’s Heat Orchestration Template’s Resource
|
ONAP’s SDN-Controller provides the network’s subnet’s UUID value at orchestration to the Heat Orchestration Template.
Example Parameter Definition
parameters:
{network-role}_subnet_id:
type: string
description: Neutron IPv4 subnet UUID for the {network-role} network
Requirement: R-100220
|
When the VNF’s Heat Orchestration Template’s
resource
where
|
Note that ONAP only supports cloud assigned IP addresses from one IPv6 subnet of a given network.
Requirement: R-100230
|
The VNF’s Heat Orchestration Template’s Resource
|
ONAP’s SDN-Controller provides the network’s subnet’s UUID value at orchestration to the Heat Orchestration Template.
Example Parameter Definition
parameters:
{network-role}_v6_subnet_id:
type: string
description: Neutron IPv6 subnet UUID for the {network-role} network
Requirement: R-100240
|
When
the parameter MUST follow the naming convention
where
Note that the parameter MUST be defined as an |
Requirement: R-100250
|
The VNF’s Heat Orchestration Template’s Resource
|
The assumption is that ONAP internal networks are created in the base module. The subnet network ID will be passed as an output parameter (e.g., ONAP Base Module Output Parameter) to the incremental modules. In the incremental modules, the output parameter name will be defined as input parameter.
Example Parameter Definition
parameters:
int_{network-role}_subnet_id:
type: string
description: Neutron IPv4 subnet UUID for the int_{network-role} network
Requirement: R-100260
|
When
the parameter MUST follow the naming convention
where Note that the parameter MUST be defined as an |
Requirement: R-100270
|
The VNF’s Heat Orchestration Template’s Resource
|
Example Parameter Definition
parameters:
int_{network-role}_v6_subnet_id:
type: string
description: Neutron subnet UUID for the int_{network-role} network
Example: Contrail Resource OS::ContrailV2::InstanceIp, Property subnet_uuid
The property instance_ip_address
uses the same parameter naming
convention as the property fixed_ips
and Map Property subnet
in
OS::Neutron::Port
. The resource is assigning a cloud assigned IP
Address. The {network-role}
has been defined as “oam_protected” to
represent an oam protected network and the {vm-type}
has been defined as
“fw” for firewall.
fw_0_oam_protected_vmi_0_IP_0:
type: OS::ContrailV2::InstanceIp
depends_on:
- fw_0_oam_protected_vmi_0
properties:
virtual_machine_interface_refs:
- get_resource: fw_0_oam_protected_vmi_0
virtual_network_refs:
- get_param: oam_protected_net_fqdn
subnet_uuid: { get_param: oam_protected_subnet_id }
5.2.5.9.4. OS::ContrailV2::VirtualMachineInterface Property virtual_machine_interface_allowed_address_pairs
A VNF’s Heat Orchestration Templates resource
OS::ContrailV2::VirtualMachineInterface
map property,
virtual_machine_interface_allowed_address_pairs
,
virtual_machine_interface_allowed_address_pairs_allowed_address_pair
,
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip
,
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix
parameter MUST follow the same requirements that apply to the
resource OS::Neutron::Port
property
allowed_address_pairs
, map property ip_address
parameter.
5.2.5.9.4.1. ONAP External Networks
Requirement: R-100280
|
If a VNF’s Heat Orchestration Template’s resource
parameter MUST NOT be enumerated in the VNF’s Heat Orchestration Template’s Environment File. |
Requirement: R-100310
|
When the VNF’s Heat Orchestration Template’s resource
parameter name MUST follow the naming convention
where
And the parameter MUST be declared as type The ONAP data model can only support one IPv4 VIP address. |
Example Parameter Definition
parameters:
{vm-type}_{network-role}_floating_ip:
type: string
description: IPv4 VIP for {vm-type} VMs on the {network-role} network
Requirement: R-100330
|
When the VNF’s Heat Orchestration Template’s resource
parameter name MUST follow the naming convention
where
And the parameter MUST be declared as type The ONAP data model can only support one IPv6 VIP address. |
Example Parameter Definition
parameters:
{vm-type}_{network-role}_floating_v6_ip:
type: string
description: IPv6 VIP for {vm-type} VMs on the {network-role} network
Requirement: R-100350
|
When the VNF’s Heat Orchestration Template’s resource
And the And the
parameters not supported by the ONAP data model. |
5.2.5.9.4.2. ONAP Internal Networks
Requirement: R-100360
|
When the VNF’s Heat Orchestration Template’s Resource
where
And the parameter MUST be declared as OR the parameter name MUST follow the naming convention
where
And the parameter MUST be declared as |
Requirement: R-100370
|
When the VNF’s Heat Orchestration Template’s Resource
where
And the parameter MUST be declared as OR the parameter name MUST follow the naming convention
where
And the parameter MUST be declared as |
5.2.5.9.4.3. Example
Example OS::ContrailV2::VirtualMachineInterface
<resource ID>:
type: OS::ContrailV2::VirtualMachineInterface
properties:
name: { get_param: name }
fq_name: { get_param: fq_name }
ecmp_hashing_include_fields:
{
ecmp_hashing_include_fields_hashing_configured: { get_param: ecmp_hashing_include_fields_hashing_configured },
ecmp_hashing_include_fields_source_ip: { get_param: ecmp_hashing_include_fields_source_ip },
ecmp_hashing_include_fields_destination_ip: { get_param: ecmp_hashing_include_fields_destination_ip },
ecmp_hashing_include_fields_ip_protocol: { get_param: ecmp_hashing_include_fields_ip_protocol },
ecmp_hashing_include_fields_source_port: { get_param: ecmp_hashing_include_fields_source_port },
ecmp_hashing_include_fields_destination_port: { get_param: ecmp_hashing_include_fields_destination_port },
}
virtual_machine_interface_host_routes:
{
virtual_machine_interface_host_routes_route:
[{
virtual_machine_interface_host_routes_route_prefix: { get_param: virtual_machine_interface_host_routes_route_prefix },
virtual_machine_interface_host_routes_route_next_hop: { get_param: virtual_machine_interface_host_routes_route_next_hop },
virtual_machine_interface_host_routes_route_next_hop_type: { get_param: virtual_machine_interface_host_routes_route_next_hop_type },
virtual_machine_interface_host_routes_route_community_attributes:
{
virtual_machine_interface_host_routes_route_community_attributes_community_attribute: [{ get_param: virtual_machine_interface_host_routes_route_community_attributes_community_attribute }],
},
}],
}
virtual_machine_interface_mac_addresses:
{
virtual_machine_interface_mac_addresses_mac_address: [{ get_param: virtual_machine_interface_mac_addresses_mac_address }],
}
virtual_machine_interface_dhcp_option_list:
{
virtual_machine_interface_dhcp_option_list_dhcp_option:
[{
virtual_machine_interface_dhcp_option_list_dhcp_option_dhcp_option_name: { get_param: virtual_machine_interface_dhcp_option_list_dhcp_option_dhcp_option_name },
virtual_machine_interface_dhcp_option_list_dhcp_option_dhcp_option_value: { get_param: virtual_machine_interface_dhcp_option_list_dhcp_option_dhcp_option_value },
virtual_machine_interface_dhcp_option_list_dhcp_option_dhcp_option_value_bytes: { get_param: virtual_machine_interface_dhcp_option_list_dhcp_option_dhcp_option_value_bytes },
}],
}
virtual_machine_interface_bindings:
{
virtual_machine_interface_bindings_key_value_pair:
[{
virtual_machine_interface_bindings_key_value_pair_key: { get_param: virtual_machine_interface_bindings_key_value_pair_key },
virtual_machine_interface_bindings_key_value_pair_value: { get_param: virtual_machine_interface_bindings_key_value_pair_value },
}],
}
virtual_machine_interface_disable_policy: { get_param: virtual_machine_interface_disable_policy }
virtual_machine_interface_allowed_address_pairs:
{
virtual_machine_interface_allowed_address_pairs_allowed_address_pair:
[{
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_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix },
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len },
},
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac },
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode },
}],
}
annotations:
{
annotations_key_value_pair:
[{
annotations_key_value_pair_key: { get_param: annotations_key_value_pair_key },
annotations_key_value_pair_value: { get_param: annotations_key_value_pair_value },
}],
}
virtual_machine_interface_fat_flow_protocols:
{
virtual_machine_interface_fat_flow_protocols_fat_flow_protocol:
[{
virtual_machine_interface_fat_flow_protocols_fat_flow_protocol_protocol: { get_param: virtual_machine_interface_fat_flow_protocols_fat_flow_protocol_protocol },
virtual_machine_interface_fat_flow_protocols_fat_flow_protocol_port: { get_param: virtual_machine_interface_fat_flow_protocols_fat_flow_protocol_port },
}],
}
virtual_machine_interface_device_owner: { get_param: virtual_machine_interface_device_owner }
port_security_enabled: { get_param: port_security_enabled }
virtual_machine_interface_properties:
{
virtual_machine_interface_properties_service_interface_type: { get_param: virtual_machine_interface_properties_service_interface_type },
virtual_machine_interface_properties_interface_mirror:
{
virtual_machine_interface_properties_interface_mirror_traffic_direction: { get_param: virtual_machine_interface_properties_interface_mirror_traffic_direction },
virtual_machine_interface_properties_interface_mirror_mirror_to:
{
virtual_machine_interface_properties_interface_mirror_mirror_to_analyzer_name: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_analyzer_name },
virtual_machine_interface_properties_interface_mirror_mirror_to_encapsulation: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_encapsulation },
virtual_machine_interface_properties_interface_mirror_mirror_to_analyzer_ip_address: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_analyzer_ip_address },
virtual_machine_interface_properties_interface_mirror_mirror_to_analyzer_mac_address: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_analyzer_mac_address },
virtual_machine_interface_properties_interface_mirror_mirror_to_routing_instance: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_routing_instance },
virtual_machine_interface_properties_interface_mirror_mirror_to_udp_port: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_udp_port },
virtual_machine_interface_properties_interface_mirror_mirror_to_juniper_header: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_juniper_header },
virtual_machine_interface_properties_interface_mirror_mirror_to_nh_mode: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_nh_mode },
virtual_machine_interface_properties_interface_mirror_mirror_to_static_nh_header:
{
virtual_machine_interface_properties_interface_mirror_mirror_to_static_nh_header_vtep_dst_ip_address: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_static_nh_header_vtep_dst_ip_address },
virtual_machine_interface_properties_interface_mirror_mirror_to_static_nh_header_vtep_dst_mac_address: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_static_nh_header_vtep_dst_mac_address },
virtual_machine_interface_properties_interface_mirror_mirror_to_static_nh_header_vni: { get_param: virtual_machine_interface_properties_interface_mirror_mirror_to_static_nh_header_vni },
},
},
},
virtual_machine_interface_properties_local_preference: { get_param: virtual_machine_interface_properties_local_preference },
virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: virtual_machine_interface_properties_sub_interface_vlan_tag },
}
display_name: { get_param: display_name }
service_health_check_refs: [{ get_param: service_health_check_refs }]
routing_instance_refs: [{ get_param: routing_instance_refs }]
routing_instance_refs_data:
[{
routing_instance_refs_data_direction: { get_param: routing_instance_refs_data_direction },
routing_instance_refs_data_vlan_tag: { get_param: routing_instance_refs_data_vlan_tag },
routing_instance_refs_data_src_mac: { get_param: routing_instance_refs_data_src_mac },
routing_instance_refs_data_dst_mac: { get_param: routing_instance_refs_data_dst_mac },
routing_instance_refs_data_mpls_label: { get_param: routing_instance_refs_data_mpls_label },
routing_instance_refs_data_service_chain_address: { get_param: routing_instance_refs_data_service_chain_address },
routing_instance_refs_data_ipv6_service_chain_address: { get_param: routing_instance_refs_data_ipv6_service_chain_address },
routing_instance_refs_data_protocol: { get_param: routing_instance_refs_data_protocol },
}]
security_group_refs: [{ get_param: security_group_refs }]
physical_interface_refs: [{ get_param: physical_interface_refs }]
port_tuple_refs: [{ get_param: port_tuple_refs }]
interface_route_table_refs: [{ get_param: interface_route_table_refs }]
virtual_machine_interface_refs: [{ get_param: virtual_machine_interface_refs }]
virtual_network_refs: [{ get_param: virtual_network_refs }]
virtual_machine_refs: [{ get_param: virtual_machine_refs }]
qos_config_refs: [{ get_param: qos_config_refs }]
virtual_machine: { get_param: virtual_machine }
project: { get_param: project }