[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / lib / openecomp-sdc-translator-lib / openecomp-sdc-translator-core / src / test / resources / mock / multiHeat / referencedHeatResources / expectedOutput / MainServiceTemplate.yaml
index d9f89df..4f1398a 100644 (file)
@@ -2,34 +2,10 @@ tosca_definitions_version: tosca_simple_yaml_1_0_0
 metadata:
   template_name: Main
 imports:
-  ContrailComputeGlobalTypes:
-    file: ContrailComputeGlobalTypesServiceTemplate.yaml
-  CinderVolumeGlobalTypes:
-    file: CinderVolumeGlobalTypesServiceTemplate.yaml
-  ContrailVirtualNetworkGlobalType:
-    file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
-  AbstractSubstituteGlobalTypes:
-    file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
-  ContrailPortGlobalTypes:
-    file: ContrailPortGlobalTypesServiceTemplate.yaml
-  GlobalSubstitutionTypes:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
     file: GlobalSubstitutionTypesServiceTemplate.yaml
-  NeutronPortGlobalTypes:
-    file: NeutronPortGlobalTypesServiceTemplate.yaml
-  NeutronNetGlobalTypes:
-    file: NeutronNetGlobalTypesServiceTemplate.yaml
-  CommonGlobalTypes:
-    file: CommonGlobalTypesServiceTemplate.yaml
-  ContrailAbstractSubstituteGlobalTypes:
-    file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
-  ContrailNetworkRuleGlobalType:
-    file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
-  NeutronSecurityRulesGlobalTypes:
-    file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
-  NovaServerGlobalTypes:
-    file: NovaServerGlobalTypesServiceTemplate.yaml
-  ContrailV2VirtualMachineInterfaceGlobalType:
-    file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
 node_types:
   org.openecomp.resource.vfc.nodes.heat.nems_be:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
@@ -1226,6 +1202,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1233,6 +1215,10 @@ topology_template:
             get_input:
             - lb_oam_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1244,11 +1230,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: true
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: mms_traffic_net_local_ip2
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input: mms_traffic_net_floating_ip
@@ -1266,6 +1261,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1273,6 +1274,9 @@ topology_template:
             get_input:
             - nems_fe_nems_traffic_net_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: nems_traffic_net
       requirements:
       - link:
@@ -1287,6 +1291,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1294,6 +1304,9 @@ topology_template:
             get_input:
             - nems_fe_nems_internal_net_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: nems_internal_net
       requirements:
       - link:
@@ -1324,6 +1337,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1331,6 +1350,9 @@ topology_template:
             get_input:
             - nems_fe_nems_user_web_net_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: nems_user_web_net
       requirements:
       - link:
@@ -1345,6 +1367,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1352,6 +1380,9 @@ topology_template:
             get_input:
             - nems_fe_nems_user_web_net_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: nems_user_web_net
       requirements:
       - link:
@@ -1366,6 +1397,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1373,6 +1410,9 @@ topology_template:
             get_input:
             - nems_fe_nems_traffic_net_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: nems_traffic_net
       requirements:
       - link:
@@ -1387,6 +1427,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1394,6 +1440,10 @@ topology_template:
             get_input:
             - nems_fe_oam_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1405,6 +1455,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1412,6 +1468,10 @@ topology_template:
             get_input:
             - nems_fe_oam_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1423,6 +1483,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1430,6 +1496,9 @@ topology_template:
             get_input:
             - nems_fe_nems_internal_net_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: nems_internal_net
       requirements:
       - link:
@@ -1444,6 +1513,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1451,6 +1526,9 @@ topology_template:
             get_input:
             - nems_fe_nems_imap_net_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: nems_imap_net
       requirements:
       - link:
@@ -1465,6 +1543,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1472,6 +1556,9 @@ topology_template:
             get_input:
             - nems_fe_nems_imap_net_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: nems_imap_net
       requirements:
       - link:
@@ -1531,11 +1618,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: true
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: eca_traffic_net_local_ip2
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input: eca_traffic_net_floating_ip
@@ -1553,11 +1649,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: ha_net_local_ip2
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: ha_net
       requirements:
       - link:
@@ -1588,11 +1693,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: ha_net_local_ip1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: ha_net
       requirements:
       - link:
@@ -1635,6 +1749,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1642,6 +1762,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 15
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1653,6 +1777,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1660,6 +1790,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 18
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -1674,6 +1807,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1681,6 +1820,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 15
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -1692,6 +1835,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1699,6 +1848,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 18
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -1710,6 +1863,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1717,6 +1876,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 14
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1728,6 +1891,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1735,6 +1904,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 18
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1746,11 +1919,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: true
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: nems_traffic_net_local_ip1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input: nems_traffic_net_floating_ip
@@ -1768,6 +1950,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1775,6 +1963,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 10
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -1786,6 +1978,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1793,6 +1991,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 10
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -1807,6 +2008,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1814,6 +2021,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 11
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -1828,6 +2038,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1835,6 +2051,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 11
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -1846,6 +2066,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1853,6 +2079,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 10
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1864,6 +2094,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1871,6 +2107,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 11
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1882,6 +2122,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1889,6 +2135,10 @@ topology_template:
             get_input:
             - mmsc_oam_ips
             - 3
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1900,6 +2150,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1907,6 +2163,10 @@ topology_template:
             get_input:
             - cmaui_oam_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1918,6 +2178,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1925,6 +2191,10 @@ topology_template:
             get_input:
             - mmsc_oam_ips
             - 2
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -1936,6 +2206,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1943,6 +2219,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 14
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -1957,6 +2236,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1964,6 +2249,9 @@ topology_template:
             get_input:
             - mmsc_mms_traffic_net_ips
             - 2
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: mms_traffic_net
       requirements:
       - link:
@@ -1978,6 +2266,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -1985,6 +2279,9 @@ topology_template:
             get_input:
             - mmsc_mms_traffic_net_ips
             - 3
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: mms_traffic_net
       requirements:
       - link:
@@ -1999,6 +2296,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2006,6 +2309,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 14
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -2017,6 +2324,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2024,6 +2337,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 15
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -2038,6 +2354,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2045,6 +2367,10 @@ topology_template:
             get_input:
             - lb_oam_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -2062,6 +2388,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2069,6 +2401,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 6
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -2135,6 +2470,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2142,6 +2483,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 6
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -2153,6 +2498,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2160,6 +2511,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 6
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -2177,6 +2532,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2184,6 +2545,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 2
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -2195,6 +2560,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2202,6 +2573,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 2
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -2213,6 +2588,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2220,6 +2601,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 2
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -2278,6 +2662,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2285,6 +2675,9 @@ topology_template:
             get_input:
             - lb_dmz_protected_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input:
@@ -2314,6 +2707,7 @@ topology_template:
             get_input:
             - mmsc_dmz_protected_snat_ips
             - 3
+        network_role_tag: dmz_protected
         network:
           get_input: dmz_protected_net_name
       requirements:
@@ -2325,11 +2719,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: true
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: eca_traffic_net_local_ip1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input: eca_traffic_net_floating_ip
@@ -2347,6 +2750,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2354,6 +2763,9 @@ topology_template:
             get_input:
             - lb_dmz_protected_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input:
@@ -2383,6 +2795,7 @@ topology_template:
             get_input:
             - mmsc_dmz_protected_snat_ips
             - 3
+        network_role_tag: dmz_protected
         network:
           get_input: dmz_protected_net_name
       requirements:
@@ -2394,11 +2807,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: true
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: mms_traffic_net_local_ip1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input: mms_traffic_net_floating_ip
@@ -2432,6 +2854,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2439,6 +2867,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -2523,6 +2954,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2530,6 +2967,9 @@ topology_template:
             get_input:
             - lb_cor_direct_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input:
@@ -2559,6 +2999,7 @@ topology_template:
             get_input:
             - mmsc_core_snat_ips
             - 4
+        network_role_tag: cor_direct
         network:
           get_input: cor_direct_net_name
       requirements:
@@ -2570,6 +3011,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2577,6 +3024,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 19
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -2588,6 +3039,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2595,6 +3052,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 19
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -2609,6 +3069,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2616,6 +3082,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 19
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -2627,6 +3097,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2634,6 +3110,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 7
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -2645,6 +3125,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2652,6 +3138,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 5
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -2663,11 +3153,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: true
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: nems_user_web_net_local_ip2
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input: nems_user_web_net_floating_ip
@@ -2701,6 +3200,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2708,6 +3213,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 5
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -2722,6 +3230,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2729,6 +3243,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 7
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -2743,11 +3260,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: true
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: nems_user_web_net_local_ip1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input: nems_user_web_net_floating_ip
@@ -2765,6 +3291,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2772,6 +3304,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 5
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -2783,6 +3319,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2790,6 +3332,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 7
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -2839,11 +3385,21 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: nems_be_oam_ips
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -2855,6 +3411,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2862,6 +3424,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -2895,11 +3461,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: nems_be_nems_internal_net_ips
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: nems_internal_net
       requirements:
       - link:
@@ -2914,6 +3489,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2921,6 +3502,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -2932,6 +3517,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2939,6 +3530,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 3
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -2972,11 +3567,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: nems_be_nems_imap_net_ips
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: nems_imap_net
       requirements:
       - link:
@@ -2991,6 +3595,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -2998,6 +3608,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -3012,6 +3625,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3019,6 +3638,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 3
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -3049,6 +3671,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3056,6 +3684,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 3
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3117,6 +3749,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3124,6 +3762,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 16
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3135,6 +3777,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3142,6 +3790,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 17
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -3156,6 +3807,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3163,6 +3820,9 @@ topology_template:
             get_input:
             - lb_cor_direct_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input:
@@ -3192,6 +3852,7 @@ topology_template:
             get_input:
             - mmsc_core_snat_ips
             - 4
+        network_role_tag: cor_direct
         network:
           get_input: cor_direct_net_name
       requirements:
@@ -3203,6 +3864,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3210,6 +3877,10 @@ topology_template:
             get_input:
             - mmsc_oam_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3221,6 +3892,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3228,6 +3905,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 16
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -3242,6 +3922,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3249,6 +3935,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 17
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3260,6 +3950,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3267,6 +3963,9 @@ topology_template:
             get_input:
             - mmsc_mms_traffic_net_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: mms_traffic_net
       requirements:
       - link:
@@ -3281,6 +3980,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3288,6 +3993,9 @@ topology_template:
             get_input:
             - mmsc_mms_traffic_net_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: mms_traffic_net
       requirements:
       - link:
@@ -3302,6 +4010,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3309,6 +4023,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 16
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -3320,6 +4038,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3327,6 +4051,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 17
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -3354,6 +4082,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3361,12 +4095,22 @@ topology_template:
             get_input:
             - cmaui_oam_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
     eca_trx10_port_1:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3374,6 +4118,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 9
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -3417,6 +4165,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3424,6 +4178,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 9
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3473,6 +4231,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3480,6 +4244,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 9
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -3558,6 +4325,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3565,6 +4338,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 13
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -3576,6 +4353,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3583,6 +4366,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 12
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3594,6 +4381,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3601,6 +4394,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 13
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3612,6 +4409,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3619,6 +4422,9 @@ topology_template:
             get_input:
             - mmsc_mms_traffic_net_ips
             - 4
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: mms_traffic_net
       requirements:
       - link:
@@ -3633,6 +4439,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3640,6 +4452,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 12
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -3651,6 +4467,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3658,6 +4480,10 @@ topology_template:
             get_input:
             - mmsc_oam_ips
             - 4
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3669,6 +4495,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3676,6 +4508,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 12
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -3690,6 +4525,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3697,6 +4538,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 13
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -3711,6 +4555,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3718,6 +4568,10 @@ topology_template:
             get_input:
             - mmsc_oam_ips
             - 1
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3777,6 +4631,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3784,6 +4644,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 8
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3795,6 +4659,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3802,6 +4672,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 8
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -3813,6 +4687,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3820,6 +4700,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 8
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -3834,11 +4717,20 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: true
         security_groups:
         - get_input: security_group_name
         fixed_ips:
         - ip_address:
             get_input: nems_traffic_net_local_ip2
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         allowed_address_pairs:
         - ip_address:
             get_input: nems_traffic_net_floating_ip
@@ -3856,6 +4748,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3863,6 +4761,9 @@ topology_template:
             get_input:
             - eca_trx_eca_traffic_net_ips
             - 4
+        mac_requirements:
+          mac_count_required:
+            is_required: false
         network: eca_traffic_net
       requirements:
       - link:
@@ -3893,6 +4794,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3900,6 +4807,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -3911,6 +4822,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3918,6 +4835,10 @@ topology_template:
             get_input:
             - eca_trx_mgmt_ips
             - 4
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: eca_mgmt
         network:
           get_input: eca_mgmt_net_name
       requirements:
@@ -3929,6 +4850,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3936,6 +4863,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3947,6 +4878,12 @@ topology_template:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
         security_groups:
         - get_input: security_group_name
         fixed_ips:
@@ -3954,6 +4891,10 @@ topology_template:
             get_input:
             - eca_trx_oam_ips
             - 4
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        network_role_tag: oam
         network:
           get_input: oam_net_name
       requirements:
@@ -3969,57 +4910,69 @@ topology_template:
         size: '(get_input : mmsc_cinder_volume_size) * 1024'
   relationship_templates:
     nems1_fe_volume_attachment:
-      type: org.openecomp.relationships.heat.cinder.VolumeAttachesTo
+      type: org.openecomp.relationships.VolumeAttachesTo
       properties:
         volume_id: nems1_fe_volume
         instance_uuid: server_nems_fe1
     mmsc3_volume_attachment:
-      type: org.openecomp.relationships.heat.cinder.VolumeAttachesTo
+      type: org.openecomp.relationships.VolumeAttachesTo
       properties:
         volume_id: mmsc3_volume
         instance_uuid: server_mmsc3
     mmsc1_volume_attachment:
-      type: org.openecomp.relationships.heat.cinder.VolumeAttachesTo
+      type: org.openecomp.relationships.VolumeAttachesTo
       properties:
         volume_id: mmsc1_volume
         instance_uuid: server_mmsc1
     cmaui1_volume_attachment:
-      type: org.openecomp.relationships.heat.cinder.VolumeAttachesTo
+      type: org.openecomp.relationships.VolumeAttachesTo
       properties:
         volume_id: cmaui1_volume
         instance_uuid: server_cmaui1
     mmsc4_volume_attachment:
-      type: org.openecomp.relationships.heat.cinder.VolumeAttachesTo
+      type: org.openecomp.relationships.VolumeAttachesTo
       properties:
         volume_id: mmsc4_volume
         instance_uuid: server_mmsc4
     nems_volume_attachment:
-      type: org.openecomp.relationships.heat.cinder.VolumeAttachesTo
+      type: org.openecomp.relationships.VolumeAttachesTo
       properties:
         volume_id: nems_be_volume
         instance_uuid: server_nems_be1
     cmaui_volume_attachment:
-      type: org.openecomp.relationships.heat.cinder.VolumeAttachesTo
+      type: org.openecomp.relationships.VolumeAttachesTo
       properties:
         volume_id: cmaui_volume
         instance_uuid: server_cmaui
     nems2_fe_volume_attachment:
-      type: org.openecomp.relationships.heat.cinder.VolumeAttachesTo
+      type: org.openecomp.relationships.VolumeAttachesTo
       properties:
         volume_id: nems2_fe_volume
         instance_uuid: server_nems_fe2
     mmsc5_volume_attachment:
-      type: org.openecomp.relationships.heat.cinder.VolumeAttachesTo
+      type: org.openecomp.relationships.VolumeAttachesTo
       properties:
         volume_id: mmsc5_volume
         instance_uuid: server_mmsc5
     mmsc2_volume_attachment:
-      type: org.openecomp.relationships.heat.cinder.VolumeAttachesTo
+      type: org.openecomp.relationships.VolumeAttachesTo
       properties:
         volume_id: mmsc2_volume
         instance_uuid: server_mmsc2
   groups:
-    MMSC_Capacity_Line:
+    cmaui_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/cmaui.yml
+        description: cmaui server template for vMMSC
+      members:
+      - server_cmaui1
+      - server_cmaui
+      - cmaui1_port_0
+      - cmaui_volume
+      - cmaui1_volume
+      - cmaui_port_0
+    MMSC_Capacity_Line_group:
       type: org.openecomp.groups.heat.HeatStack
       properties:
         heat_file: ../Artifacts/MMSC_Capacity_Line.yml
@@ -4170,7 +5123,7 @@ topology_template:
       - eca_trx1_port_0
       - eca_trx5_port_0
       - mmsc3_volume
-    SG_ECA_MGMT:
+    SG_ECA_MGMT_group:
       type: org.openecomp.groups.heat.HeatStack
       properties:
         heat_file: ../Artifacts/SG_ECA_MGMT.yaml
@@ -4178,16 +5131,4 @@ topology_template:
           HOT template that creates Security Group and ECA network
       members:
       - mms_security_group
-      - eca_mgmt_net
-    cmaui:
-      type: org.openecomp.groups.heat.HeatStack
-      properties:
-        heat_file: ../Artifacts/cmaui.yml
-        description: cmaui server template for vMMSC
-      members:
-      - server_cmaui1
-      - server_cmaui
-      - cmaui1_port_0
-      - cmaui_volume
-      - cmaui1_volume
-      - cmaui_port_0
\ No newline at end of file
+      - eca_mgmt_net
\ No newline at end of file