[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / lib / openecomp-sdc-translator-lib / openecomp-sdc-translator-core / src / test / resources / mock / services / heattotosca / getAttrNestedAtt / inputfiles / base_firstnet_fgi_frwl.yml
1 heat_template_version: 2015-04-30
2 #FIRSTNET - FW -FGI// Contrail 3.0 Version 2 Template
3 #AUTHORS: Rajesh Anne (ja702x)
4 description: >
5   HOT template to create SecurityGroup//ServerGroup//ServiceTemplate:
6
7 #####################
8 parameters:
9 #####################
10
11 ## GLOBAL//Basic Parameters
12 ## OPENECOMP VNF//VM Parameters
13   vnf_name:
14     type: string
15     description: Unique name for this VF instance
16 #   For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC
17
18   domain:
19     type: string
20     description: domain for the ServiceTemplate
21 #   For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC
22   vnf_id:
23     type: string
24     description: Unique ID for this VF instance
25 #   For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC
26   vf_module_id:
27     type: string
28     description: Unique ID for this VF Module instance
29 #   For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC
30   vf_module_name:
31     type: string
32     description: Unique name for this VF Module instance
33 #   For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC 
34 ## GLOBAL//Network Parameters
35   sgi_protected_interface_type:
36     type: string
37     description: service_interface_type for ServiceInstance
38   sgi_direct_interface_type:
39     type: string
40     description: service_interface_type for ServiceInstance
41   oam_protected_net_fqdn:
42     type: string
43     description: fq_name for the VirtualNetwork
44   sgi_protected_net_dummy:
45     type: string
46     description: name for the VirtualNetwork
47   sgi_protected_net_dummy1:
48     type: string
49     description: name for the VirtualNetwork
50   sgi_protected_net_dummy_fqdn:
51     type: string
52     description: fq_name for the VirtualNetwork
53   sgi_direct_net_fqdn:
54     type: string
55     description: fq_name for the VirtualNetwork
56   nimbus_hsl_net_fqdn:
57     type: string
58     description: fq_name for the VirtualNetwork
59   oam_protected_interface_type:
60     type: string
61     description: service_interface_type for ServiceInstance
62
63   nimbus_hsl_interface_type:
64     type: string
65     description: service_interface_type for ServiceInstance
66 ## PT//PortTuple Parameters
67   cgi_fw_pt_vlan_VM1_name_fqdn:
68     type: json
69     description: fqdn of the ServiceInstance in PortTuple Resource
70   cgi_fw_pt_vlan_VM2_name_fqdn:
71     type: json
72     description: fqdn of the ServiceInstance in PortTuple Resource
73 ## ST//ServiceTemplate Parameters
74   cgi_fw_st_version:
75     type: number
76     description: version for the ServiceTemplate
77     constraints:
78       - range: { min: 0, max: 99 }
79         description: Must be a number between 0 and 99
80   cgi_fw_st_mode:
81     type: string
82     description: service_mode for the ServiceTemplate
83   cgi_fw_st_type:
84     type: string
85     description: service_type for the ServiceTemplate
86   cgi_fw_st_virtualization_type:
87     type: string
88     description: service_virtualization_type for the ServiceTemplate
89 ## VMI//VirtualMachineInterface ECMP Parameters
90   cgi_fw_vmi_ecmp_configured:
91     type: boolean
92     description: hashing_configured for the VirtualMachineInterface
93   cgi_fw_vmi_ecmp_src_ip:
94     type: boolean
95     description: source_ip for the VirtualMachineInterface
96   cgi_fw_vmi_ecmp_dst_ip:
97     type: boolean
98     description: destination_ip for the VirtualMachineInterface
99   cgi_fw_vmi_ecmp_ip_protocol:
100     type: boolean
101     description: ip_protocol for the VirtualMachineInterface
102   cgi_fw_vmi_ecmp_src_port:
103     type: boolean
104     description: source_port for the VirtualMachineInterface
105   cgi_fw_vmi_ecmp_dst_port:
106     type: boolean
107     description: destination_port for the VirtualMachineInterface
108 ## II//InstanceIp
109   sgi_direct_family_v6:
110     type: string
111     description: IP Family Address for InstanceIp
112   sgi_direct_subnet_id:
113     type: string
114     description: Subnet UUID for InstanceIp
115   sgi_direct_ipv6_subnet_id:
116     type: string
117     description: Subnet UUID for InstanceIp
118 ## VM//NovaServer Parameters
119   cgi_fw_image_name:
120     type: string
121     description: image_name for the ServiceInstance VM
122   cgi_fw_flavor_name:
123     type: string
124     description: flavor for the ServiceInstance VM
125   availability_zone_0:
126     type: string
127     description: availability_zone for the ServiceInstance
128   availability_zone_1:
129     type: string
130     description: availability_zone for the ServiceInstance
131   cgi_fw_names:
132     type: comma_delimited_list
133     label: Firewall VM Name
134     description: Comma Delimited List of Names for ServiceInstance VMs
135   cgi_fw_oam_protected_ips:
136     type: comma_delimited_list
137     description: the ips of the management network for CGI FW
138   contrail_vmi_subinterface:
139     type: string
140   port_name:
141     type: string
142   subinterface_name_prefix:
143     type: string
144 #####################
145 resources:
146 #####################
147
148 ## RSG//Resource:SecurityGroup
149   CGI_FW_RSG_SI_1:
150     type: OS::Neutron::SecurityGroup
151     properties:
152       description: Security Group of CGI FW ServiceInstance
153       name:
154         str_replace:
155           template: VNF_NAME_sg_cgi_fw
156           params:
157             VNF_NAME: { get_param: vnf_name }
158       rules:
159         - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0}
160         - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0}
161         - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "132", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0}
162         - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"}
163         - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0}
164         - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0}
165         - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "132", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0}
166         - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "58", "ethertype": "IPv6"}
167         - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0}
168         - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0}
169         - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "132", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0}
170         - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"}
171         - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0}
172         - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0}
173         - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "132", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0}
174         - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "58", "ethertype": "IPv6"}
175
176 ## RAG//Resource:Anti-Affinity Group
177   CGI_FW_RAG:
178     type: OS::Nova::ServerGroup
179     properties:
180       name:
181         str_replace:
182           template: VNF_NAME_srg_cgi_fw
183           params:
184             VNF_NAME: { get_param: vnf_name }
185       policies:
186         - anti-affinity
187
188 ## RST//Resource:ServiceTemplate
189   CGI_FW_RST_1:
190     type: OS::ContrailV2::ServiceTemplate
191     properties:
192       domain: { get_param: domain }
193       name:
194         str_replace:
195           template: VNF_NAME_st_cgi_fw
196           params:
197             VNF_NAME: { get_param: vnf_name }
198       service_template_properties:
199         service_template_properties_version: { get_param: cgi_fw_st_version }
200         service_template_properties_service_mode: { get_param: cgi_fw_st_mode }
201         service_template_properties_service_type: { get_param: cgi_fw_st_type }
202         service_template_properties_service_virtualization_type: { get_param: cgi_fw_st_virtualization_type }
203         service_template_properties_interface_type:
204           - service_template_properties_interface_type_service_interface_type: { get_param: sgi_protected_interface_type }
205           - service_template_properties_interface_type_service_interface_type: { get_param: sgi_direct_interface_type }
206
207 ## RVMI//Resource:VirtualMachineInterface
208 #### CGI_FW VirtualMachineInterface for 1st Interface // MGMT // oam_protected_NET_1
209   CGI_FW_OAM_PROTECTED_RVMI_1:
210     type: OS::ContrailV2::VirtualMachineInterface
211     properties:
212       name:
213         str_replace:
214           template: VM_NAME_vmi_1
215           params:
216             VM_NAME: { get_param: [ cgi_fw_names,0 ] }
217       virtual_machine_interface_properties:
218         virtual_machine_interface_properties_service_interface_type: { get_param: oam_protected_interface_type }
219       virtual_network_refs:
220         - get_param: oam_protected_net_fqdn
221       security_group_refs:
222         - get_resource: CGI_FW_RSG_SI_1
223   CGI_FW_OAM_PROTECTED_RVMI_2:
224     type: OS::ContrailV2::VirtualMachineInterface
225     properties:
226       name:
227         str_replace:
228           template: VM_NAME_vmi_1
229           params:
230             VM_NAME: { get_param: [ cgi_fw_names,1 ] }
231       virtual_machine_interface_properties:
232         virtual_machine_interface_properties_service_interface_type: { get_param: oam_protected_interface_type }
233       virtual_network_refs:
234         - get_param: oam_protected_net_fqdn
235       security_group_refs:
236         - get_resource: CGI_FW_RSG_SI_1
237
238 #### CGI_FW VirtualMachineInterface for 2nd Interface // LEFT // PROTECTED_NET_1 (ServiceChain)
239   CGI_FW_SGI_PROTECTED_RVMI_DUMMY_1:
240     type: OS::ContrailV2::VirtualMachineInterface
241     properties:
242       name:
243         str_replace:
244           template: VM_NAME_vmi_dummy
245           params:
246             VM_NAME: { get_param: [ cgi_fw_names,0 ] }
247       virtual_network_refs:
248         - get_param: sgi_protected_net_dummy_fqdn
249       security_group_refs:
250         - get_resource: CGI_FW_RSG_SI_1
251
252   CGI_FW_SGI_PROTECTED_RVMI_DUMMY_2:
253     type: OS::ContrailV2::VirtualMachineInterface
254     properties:
255       name:
256         str_replace:
257           template: VM_NAME_vmi_dummy
258           params:
259             VM_NAME: { get_param: [ cgi_fw_names,1 ] }
260       virtual_network_refs:
261         - get_param: sgi_protected_net_dummy_fqdn
262       security_group_refs:
263         - get_resource: CGI_FW_RSG_SI_1
264
265 #### CGI_FW VirtualMachineInterface for 3rd Interface // RIGHT // DIRECT_NET_1 (ServiceChain)
266   CGI_FW_SGI_DIRECT_RVMI_1:
267     type: OS::ContrailV2::VirtualMachineInterface
268     properties:
269       name:
270         str_replace:
271           template: VM_NAME_vmi_3
272           params:
273             VM_NAME: { get_param: [ cgi_fw_names,0 ] }
274       ecmp_hashing_include_fields:
275         ecmp_hashing_include_fields_hashing_configured:
276           get_param: cgi_fw_vmi_ecmp_configured
277         ecmp_hashing_include_fields_source_ip:
278           get_param: cgi_fw_vmi_ecmp_src_ip
279         ecmp_hashing_include_fields_destination_ip:
280           get_param: cgi_fw_vmi_ecmp_dst_ip
281         ecmp_hashing_include_fields_ip_protocol:
282           get_param: cgi_fw_vmi_ecmp_ip_protocol
283         ecmp_hashing_include_fields_source_port:
284           get_param: cgi_fw_vmi_ecmp_src_port
285         ecmp_hashing_include_fields_destination_port:
286           get_param: cgi_fw_vmi_ecmp_dst_port
287       virtual_machine_interface_properties:
288         virtual_machine_interface_properties_service_interface_type: { get_param: sgi_direct_interface_type }
289       port_tuple_refs: { get_param: cgi_fw_pt_vlan_VM1_name_fqdn }   
290       virtual_network_refs:
291         - get_param: sgi_direct_net_fqdn
292       security_group_refs:
293         - get_resource: CGI_FW_RSG_SI_1
294   CGI_FW_SGI_DIRECT_RVMI_2:
295     type: OS::ContrailV2::VirtualMachineInterface
296     properties:
297       name:
298         str_replace:
299           template: VM_NAME_vmi_3
300           params:
301             VM_NAME: { get_param: [ cgi_fw_names,1 ] }
302       ecmp_hashing_include_fields:
303         ecmp_hashing_include_fields_hashing_configured:
304           get_param: cgi_fw_vmi_ecmp_configured
305         ecmp_hashing_include_fields_source_ip:
306           get_param: cgi_fw_vmi_ecmp_src_ip
307         ecmp_hashing_include_fields_destination_ip:
308           get_param: cgi_fw_vmi_ecmp_dst_ip
309         ecmp_hashing_include_fields_ip_protocol:
310           get_param: cgi_fw_vmi_ecmp_ip_protocol
311         ecmp_hashing_include_fields_source_port:
312           get_param: cgi_fw_vmi_ecmp_src_port
313         ecmp_hashing_include_fields_destination_port:
314           get_param: cgi_fw_vmi_ecmp_dst_port
315       virtual_machine_interface_properties:
316         virtual_machine_interface_properties_service_interface_type: { get_param: sgi_direct_interface_type }
317       port_tuple_refs: { get_param: cgi_fw_pt_vlan_VM2_name_fqdn }   
318       virtual_network_refs:
319         - get_param: sgi_direct_net_fqdn
320       security_group_refs:
321         - get_resource: CGI_FW_RSG_SI_1
322
323 #### CGI_FW VirtualMachineInterface for 4th Interface // OTHER // HSL_NET_1
324   CGI_FW_NIMBUS_HSL_RVMI_1:
325     type: OS::ContrailV2::VirtualMachineInterface
326     properties:
327       name:
328         str_replace:
329           template: VM_NAME_vmi_4
330           params:
331             VM_NAME: { get_param: [ cgi_fw_names,0 ] }
332       virtual_machine_interface_properties:
333         virtual_machine_interface_properties_service_interface_type: { get_param: nimbus_hsl_interface_type }
334       virtual_network_refs:
335         - get_param: nimbus_hsl_net_fqdn
336       security_group_refs:
337         - get_resource: CGI_FW_RSG_SI_1
338   CGI_FW_NIMBUS_HSL_RVMI_2:
339     type: OS::ContrailV2::VirtualMachineInterface
340     properties:
341       name:
342         str_replace:
343           template: VM_NAME_vmi_4
344           params:
345             VM_NAME: { get_param: [ cgi_fw_names,1 ] }
346       virtual_machine_interface_properties:
347         virtual_machine_interface_properties_service_interface_type: { get_param: nimbus_hsl_interface_type }
348       virtual_network_refs:
349         - get_param: nimbus_hsl_net_fqdn
350       security_group_refs:
351         - get_resource: CGI_FW_RSG_SI_1
352
353 ## RII//Resource:InstanceIp
354 #### CGI_FW InstanceIp for 1st Interface // MGMT // oam_protected_NET_1
355   CGI_FW_OAM_PROTECTED_RII_1:
356     type: OS::ContrailV2::InstanceIp
357     depends_on:
358       - CGI_FW_OAM_PROTECTED_RVMI_1
359     properties:
360       virtual_machine_interface_refs:
361         - get_resource: CGI_FW_OAM_PROTECTED_RVMI_1
362       virtual_network_refs:
363         - get_param: oam_protected_net_fqdn
364       instance_ip_address: { get_param: [cgi_fw_oam_protected_ips,0 ] }
365   CGI_FW_OAM_PROTECTED_RII_2:
366     type: OS::ContrailV2::InstanceIp
367     depends_on:
368       - CGI_FW_OAM_PROTECTED_RVMI_2
369     properties:
370       virtual_machine_interface_refs:
371         - get_resource: CGI_FW_OAM_PROTECTED_RVMI_2
372       virtual_network_refs:
373         - get_param: oam_protected_net_fqdn
374       instance_ip_address: { get_param: [cgi_fw_oam_protected_ips,1 ] }
375
376 #### CGI_FW InstanceIp for 2nd Interface // DUMMY // PROTECTED_NET_1
377   CGI_FW_SGI_PROTECTED_RII_DUMMY_1:
378     type: OS::ContrailV2::InstanceIp
379     depends_on:
380       - CGI_FW_SGI_PROTECTED_RVMI_DUMMY_1
381     properties:
382       virtual_machine_interface_refs:
383         - get_resource: CGI_FW_SGI_PROTECTED_RVMI_DUMMY_1
384       virtual_network_refs:
385         - get_param: sgi_protected_net_dummy_fqdn
386   CGI_FW_SGI_PROTECTED_RII_DUMMY_2:
387     type: OS::ContrailV2::InstanceIp
388     depends_on:
389       - CGI_FW_SGI_PROTECTED_RVMI_DUMMY_2
390     properties:
391       virtual_machine_interface_refs:
392         - get_resource: CGI_FW_SGI_PROTECTED_RVMI_DUMMY_2
393       virtual_network_refs:
394         - get_param: sgi_protected_net_dummy_fqdn
395
396 #### CGI_FW InstanceIp for 3rd Interface // RIGHT // DIRECT_NET_1
397   CGI_FW_SGI_DIRECT_RII_1:
398     type: OS::ContrailV2::InstanceIp
399     depends_on:
400       - CGI_FW_SGI_DIRECT_RVMI_1
401     properties:
402       virtual_machine_interface_refs:
403         - get_resource: CGI_FW_SGI_DIRECT_RVMI_1
404       virtual_network_refs:
405         - get_param: sgi_direct_net_fqdn
406       subnet_uuid: { get_param: sgi_direct_subnet_id }
407   CGI_FW_SGI_DIRECT_RII_2:
408     type: OS::ContrailV2::InstanceIp
409     depends_on:
410       - CGI_FW_SGI_DIRECT_RVMI_2
411     properties:
412       virtual_machine_interface_refs:
413         - get_resource: CGI_FW_SGI_DIRECT_RVMI_2
414       virtual_network_refs:
415         - get_param: sgi_direct_net_fqdn
416       subnet_uuid: { get_param: sgi_direct_subnet_id }
417
418 #### CGI_FW InstanceIp for 3rd Interface v6 // RIGHT // DIRECT_NET_1
419   CGI_FW_SGI_DIRECT_V6_RII_1:
420     type: OS::ContrailV2::InstanceIp
421     depends_on:
422       - CGI_FW_SGI_DIRECT_RVMI_2
423     properties:
424       virtual_machine_interface_refs:
425         - get_resource: CGI_FW_SGI_DIRECT_RVMI_1
426       virtual_network_refs:
427         - get_param: sgi_direct_net_fqdn
428       subnet_uuid: { get_param: sgi_direct_ipv6_subnet_id }
429       instance_ip_family: { get_param: sgi_direct_family_v6 }
430   CGI_FW_SGI_DIRECT_V6_RII_2:
431     type: OS::ContrailV2::InstanceIp
432     depends_on:
433       - CGI_FW_SGI_DIRECT_RVMI_2
434     properties:
435       virtual_machine_interface_refs:
436         - get_resource: CGI_FW_SGI_DIRECT_RVMI_2
437       virtual_network_refs:
438         - get_param: sgi_direct_net_fqdn
439       subnet_uuid: { get_param: sgi_direct_ipv6_subnet_id }
440       instance_ip_family: { get_param: sgi_direct_family_v6 }
441
442 #### CGI_FW InstanceIp for 4th Interface // OTHER // HSL_NET_1
443   CGI_FW_NIMBUS_HSL_RII_1:
444     type: OS::ContrailV2::InstanceIp
445     depends_on:
446       - CGI_FW_NIMBUS_HSL_RVMI_1
447     properties:
448       virtual_machine_interface_refs:
449         - get_resource: CGI_FW_NIMBUS_HSL_RVMI_1
450       virtual_network_refs:
451         - get_param: nimbus_hsl_net_fqdn
452   CGI_FW_NIMBUS_HSL_RII_2:
453     type: OS::ContrailV2::InstanceIp
454     depends_on:
455       - CGI_FW_NIMBUS_HSL_RVMI_2
456     properties:
457       virtual_machine_interface_refs:
458         - get_resource: CGI_FW_NIMBUS_HSL_RVMI_2
459       virtual_network_refs:
460         - get_param: nimbus_hsl_net_fqdn
461
462 ## RNS//Resource:NovaServer
463 #### CGI_FW ServiceInstance OS::Nova::Server VM 1
464   CGI_FW_SERVER_1:
465     type: OS::Nova::Server
466     depends_on:
467       - CGI_FW_OAM_PROTECTED_RII_1
468       - CGI_FW_SGI_PROTECTED_RII_DUMMY_1
469       - CGI_FW_SGI_DIRECT_RII_1
470       - CGI_FW_SGI_DIRECT_V6_RII_1
471       - CGI_FW_NIMBUS_HSL_RII_1
472     properties:
473       name: { get_param: [ cgi_fw_names,0 ] }
474       image: { get_param:  cgi_fw_image_name }
475       flavor: { get_param: cgi_fw_flavor_name }
476       availability_zone: { get_param: availability_zone_0 }
477       scheduler_hints: { group: {get_resource: CGI_FW_RAG } }
478       networks:
479         - port: { get_resource: CGI_FW_OAM_PROTECTED_RVMI_1 }
480         - port: { get_resource: CGI_FW_SGI_PROTECTED_RVMI_DUMMY_1 }
481         - port: { get_resource: CGI_FW_SGI_DIRECT_RVMI_1 }
482         - port: { get_resource: CGI_FW_NIMBUS_HSL_RVMI_1 }
483       metadata:
484         vf_module_name:  { get_param: vf_module_name }
485         vnf_name: { get_param: vnf_name }
486         vnf_id: { get_param: vnf_id }
487         vf_module_id:  { get_param: vf_module_id }
488   CGI_FW_SERVER_2:
489     type: OS::Nova::Server
490     depends_on:
491       - CGI_FW_OAM_PROTECTED_RII_2
492       - CGI_FW_SGI_PROTECTED_RII_DUMMY_2
493       - CGI_FW_SGI_DIRECT_RII_2
494       - CGI_FW_SGI_DIRECT_V6_RII_2
495       - CGI_FW_NIMBUS_HSL_RII_2
496     properties:
497       name: { get_param: [ cgi_fw_names,1 ] }
498       image: { get_param:  cgi_fw_image_name }
499       flavor: { get_param: cgi_fw_flavor_name }
500       availability_zone: { get_attr: [contrail_vmi_subinterface, virtual_machine_interface_allowed_address_pairs, virtual_machine_interface_allowed_address_pairs_allowed_address_pair ] }
501       scheduler_hints: { group: {get_resource: CGI_FW_RAG } }
502       networks:
503         - port: { get_resource: CGI_FW_OAM_PROTECTED_RVMI_2 }
504         - port: { get_resource: CGI_FW_SGI_PROTECTED_RVMI_DUMMY_2 }
505         - port: { get_resource: CGI_FW_SGI_DIRECT_RVMI_2 }
506         - port: { get_resource: CGI_FW_NIMBUS_HSL_RVMI_2 }
507       metadata:
508         vf_module_name:  { get_param: vf_module_name }
509         vnf_name: { get_param: vnf_name }
510         vnf_id: { get_param: vnf_id }
511         vf_module_id:  { get_param: vf_module_id }
512
513   contrail_vmi_subinterface:
514       type: OS::ContrailV2::VirtualMachineInterface
515       properties:
516         name:
517           str_replace:
518             template: VM_NAME_PORT_3
519             params:
520               VM_NAME: { get_param: vipr_atm_name_0 }
521         virtual_machine_interface_properties:
522           {
523           virtual_machine_interface_properties_service_interface_type: 'left'
524           }
525         port_tuple_refs: [{ get_param: port_name }]
526         virtual_network_refs: [{ get_param: oam_protected_net_fqdn }]