Code Change & Junit for verifying Pattern5 93/35993/2
authorsiddharth0905 <siddharth.singh4@amdocs.com>
Thu, 15 Mar 2018 12:44:57 +0000 (18:14 +0530)
committerAvi Gaffa <avi.gaffa@amdocs.com>
Mon, 19 Mar 2018 08:39:30 +0000 (08:39 +0000)
Code change and Junit for pattern5

Change-Id: Icbe8cf25cd97250e8c5000ca75bc7dcd7900e129
Issue-ID: SDC-1085
Signed-off-by: siddharth0905 <siddharth.singh4@amdocs.com>
90 files changed:
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionSubInterfaceFullTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/main.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/nested_pattern5.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/nested_vlan.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/Nested_pd_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/Nested_ps_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/nested_pattern5ServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/nested_vlanServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/main.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/nested_pattern5.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/nested_pattern5_levelTwo.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/nested_vlan.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/Nested_pd_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/nested_pattern5ServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/nested_vlanServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/main.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/nested_pattern5.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/nested_pattern5_levelTwo.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/nested_vlan.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/Nested_pd_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/Nested_ps_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/nested_pattern5ServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/nested_vlanServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/main.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/nested_pattern5.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/nested_pattern5_levelTwo.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/nested_vlan.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/Nested_pd_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/nested_pattern5ServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/nested_vlanServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/main.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/nested_pattern5.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/nested_vlan.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/Nested_pd_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/Nested_pd_server_1b_1ServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/Nested_ps_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/nested_pattern5ServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/nested_vlanServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/main.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/nested_pattern5.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/nested_vlan.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/Nested_pd_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/nested_pattern5ServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/nested_vlanServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/main.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/nested_pattern5.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/nested_pattern5_levelTwo.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/nested_vlan.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/Nested_pd_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/Nested_ps_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/Nested_ps_server_1b_1ServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/nested_pattern5ServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/nested_vlanServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/main.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/nested_pattern5.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/nested_pattern5_levelTwo.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/nested_vlan.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/Nested_pd_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/Nested_ps_server_1bServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/nested_pattern5ServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/nested_vlanServiceTemplate.yaml [new file with mode: 0644]

index 860df69..d27eb20 100644 (file)
@@ -29,6 +29,8 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
       "/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/";
   private static final String PATTERN_1C1_BASE_DIRECTORY =
       "/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/";
+  private static final String PATTERN_5_BASE_DIRECTORY =
+      "/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/";
   private static final String PATTERN_4_BASE_DIRECTORY =
       "/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern4/";
 
@@ -246,6 +248,104 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
     testTranslationWithInit(PATTERN_1C1_BASE_DIRECTORY + "allConnectivities");
   }
 
+  //Pattern5 Test Cases
+  @Test
+  public void testBaseScenarioPattern5() throws IOException {
+    /**
+     * Base heat has only nested component and nested heat has reference to subinterface and
+     * two VFCs of different type
+     * 1. Each server connected with two port
+     * 2. One Port of each server connected to network
+     * 3. Only one port out of four is having sub interface connectivity
+     * 4. Sub-interface connected to different network then port
+     */
+    testTranslationWithInit(PATTERN_5_BASE_DIRECTORY + "baseScenario");
+  }
+
+  @Test
+  public void testComplexVFCScalingScenarioPattern5() throws IOException {
+    /**
+     * 1. Base heat has only nested component and nested has reference to subinterface and
+     * two VFCs of same type
+     * 1. Each server connected with two port
+     * 2. One Port of each server connected to network
+     * 3. Only one port out of four is having sub interface
+     * 4. Sub-interface connected to different network then port
+     */
+    testTranslationWithInit(PATTERN_5_BASE_DIRECTORY + "complexVFCScalingScenario");
+  }
+
+  @Test
+  public void testComplexVFCMultiLevelNestedScenarioPattern5() throws IOException {
+    /**
+     * 1. First level nested is having one VFC and one Port with Sub interface
+     * 2. Second level nested is having one VFC and one Port with Sub interface which are of same
+     * type as parent heat file
+     */
+    testTranslationWithInit(PATTERN_5_BASE_DIRECTORY + "complexVFCMultiLevelNestedScenario");
+  }
+
+  @Test
+  public void testComplexVFCMultiLevelNestedDiffComputeScenarioPattern5() throws
+      IOException {
+    /**
+     * 1. First level nested is having one VFC and one Port with Sub interface
+     * 2. Second level nested is having one VFC and one Port with Sub interface which are of
+     * different type as parent heat file
+     */
+    testTranslationWithInit(PATTERN_5_BASE_DIRECTORY +
+        "complexVFCMultiLevelNestedDiffComputeScenario");
+  }
+
+  @Test
+  public void testComplexVFCMultiComputeInAllHeatPattern5() throws
+      IOException {
+    /**
+     * 1. Main is having 4 VFC of 2 type and 2 port and all having sub interface
+     * 2. Second level nested is having 4 VFC of 2 type and 2 port and all having sub interface
+     */
+    testTranslationWithInit(PATTERN_5_BASE_DIRECTORY +
+        "complexVFCMultiVFCInAllHeatScalingScenario");
+  }
+
+  @Test
+  public void testComplexVFCMultiLevelNestedMultiComputeScenarioPattern5() throws
+      IOException {
+    /**
+     * 1. First level nested is having one VFC and one Port with Sub interface
+     * 2. Second level nested is having two VFC of same type and two Port with Sub interface
+     */
+    testTranslationWithInit(PATTERN_5_BASE_DIRECTORY +
+        "complexVFCMultiLevelNestedMultiComputeScenario");
+  }
+
+  @Test
+  public void testComplexVFCWithDiffSubInfConnectivityScenarioPattern5()
+      throws
+      IOException {
+    /*
+     * 1. First level nested is having one VFC and one Port with Sub interface
+     * 2. Second level nested is having two VFC of same type and one Port with only one port
+     * connected to Sub interface
+     */
+    testTranslationWithInit(PATTERN_5_BASE_DIRECTORY +
+        "complexVFCWithDiffSubInfConnectivityScenario");
+  }
+
+  //Catalog instance will start working with 1C2 changes in place
+  @Test
+  public void testComplexVFCWithDiffSubInfCountScenarioPattern5()
+      throws
+      IOException {
+    /*
+     * 1. First level nested is having one VFC and one Port with Sub interface
+     * 2. Second level nested is having two VFC of same type and connected to Sub interface but
+     * having different count
+     */
+    testTranslationWithInit(PATTERN_5_BASE_DIRECTORY +
+        "complexVFCWithDiffSubInfCountScenario");
+  }
+
   //Pattern 4 Test Cases
   @Test
   public void testSubInterfaceComputePortNetworkPattern4() throws IOException {
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..e83f092
--- /dev/null
@@ -0,0 +1,22 @@
+{
+  "name": "Nested test",
+  "description": "HOT template to create nested one level multiple compute",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true"
+    },
+    {
+      "file": "nested_pattern5.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_vlan.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/main.yml
new file mode 100644 (file)
index 0000000..ac70ff5
--- /dev/null
@@ -0,0 +1,16 @@
+heat_template_version: 2013-05-23
+
+description: >
+  Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+
+parameters:
+  jsa_name:
+    type: string
+    description: network name of jsa log network
+
+resources:
+  test_nested_all_patterns:
+    type: nested_pattern5.yml
+    properties:
+      p1: {get_param: jsa_name}
+      p2: image
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/nested_pattern5.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/nested_pattern5.yml
new file mode 100644 (file)
index 0000000..c8b09f6
--- /dev/null
@@ -0,0 +1,123 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  p1:
+    type: string
+    description: UID of OAM network
+  p2:
+    type: string
+    description: UID of OAM network
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  packet_internal_network_name:
+      type: string
+  packet_external_network_name:
+      type: string
+  net:
+    type: string
+  pd_server_1b_names:
+    type: comma_delimited_list
+    description: PD server names
+  pd_server_1b_image:
+    type: string
+    description: PD Image server
+  ps_server_1b_names:
+    type: comma_delimited_list
+    description: Ps server names
+  ps_server_1b_image:
+    type: string
+    description: Ps Image server
+  pd_server_1b_flavor:
+    type: string
+    description: Flavor for PD server
+  ps_server_1b_flavor:
+    type: string
+    description: Flavor for PS server
+  pd_server_1b_ips:
+    type: string
+  ps_server_1b_ips:
+    type: string
+  pd_server_2b_ips:
+    type: string
+  ps_server_2b_ips:
+    type: string
+
+resources:
+  pd_server_1b_port:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_internal_network}
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  pd_server_2b_port:
+      type: OS::Neutron::Port
+      properties:
+        network: { get_param: net }
+        fixed_ips: [{"ip_address": {get_param: [pd_server_2b_ips, 0]}}]
+        replacement_policy: AUTO
+
+  ps_server_1b_port:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_internal_network}
+      fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  ps_server_2b_port:
+      type: OS::Neutron::Port
+      properties:
+        network: { get_param: net }
+        fixed_ips: [{"ip_address": {get_param: [ps_server_2b_ips, 0]}}]
+        replacement_policy: AUTO
+
+  server_1b_pd:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 0]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port }
+      - port: { get_resource: pd_server_2b_port }
+
+  server_1b_ps:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [ps_server_1b_names, 1]}
+      image: { get_param: ps_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: ps_server_1b_flavor }
+      networks:
+      - port: { get_resource: ps_server_1b_port }
+      - port: { get_resource: ps_server_2b_port }
+
+  packet_internal_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_internal_network_name
+
+  packet_external_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_external_network_name
+
+  test_resourceGroup:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port}
+          net1: { get_resource: packet_external_network}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/nested_vlan.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/in/nested_vlan.yml
new file mode 100644 (file)
index 0000000..cc50a66
--- /dev/null
@@ -0,0 +1,68 @@
+heat_template_version: 2018-02-01
+
+description: cmaui server template for vMMSC
+
+parameters:
+  parent_interface:
+    type: string
+  net1:
+    type: string
+  lb_st_vlan_type_oam:
+    description: dummy
+    type: string
+  mac_address:
+    type: string
+  virtual_ip_address:
+    type: string
+  virtual_ipv6_address:
+    type: string
+  vlan_ids:
+    type: string
+  subinterface_name_prefix:
+    type: string
+  subinterface_instance_index:
+    type: number
+resources:
+
+  template_Vlan_vmi_1:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          template: $NAME$VLAN
+          params:
+            $NAME: { get_param: subinterface_name_prefix }
+            $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+      virtual_machine_interface_properties:
+        {
+          virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+        }
+      virtual_machine_interface_mac_addresses:
+        {
+        virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+        }
+      virtual_machine_interface_allowed_address_pairs:
+        {
+        virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+              }
+            },
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+              }
+            }
+          ]
+        }
+      virtual_network_refs: [{ get_param: net1 }]
+      virtual_machine_interface_refs: [{ get_param: parent_interface }]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..f9890d3
--- /dev/null
@@ -0,0 +1,2241 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      p1:
+        type: string
+        description: UID of OAM network
+        required: true
+        status: SUPPORTED
+      p2:
+        type: string
+        description: UID of OAM network
+        required: true
+        status: SUPPORTED
+      ps_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_internal_network_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_names:
+        type: list
+        description: PD server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      ps_server_1b_names:
+        type: list
+        description: Ps server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      ps_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_flavor:
+        type: string
+        description: Flavor for PD server
+        required: true
+        status: SUPPORTED
+      pd_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_external_network_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      ps_server_1b_flavor:
+        type: string
+        description: Flavor for PS server
+        required: true
+        status: SUPPORTED
+      ps_server_1b_image:
+        type: string
+        description: Ps Image server
+        required: true
+        status: SUPPORTED
+      net:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_image:
+        type: string
+        description: PD Image server
+        required: true
+        status: SUPPORTED
+      pd_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_pd_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_2b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_ps_server_2b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_packet_external_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_internal_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_pd:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_2b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_2b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.capacity_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_2b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      feature_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_internal_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_2b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_pd:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_2b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_external_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_2b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_external_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_internal_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_internal_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_2b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_external_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_2b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_internal_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_2b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_2b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_external_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.pd_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_pd_server_2b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_2b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_2b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_2b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_2b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_2b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_2b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      compute_pd_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_2b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      port_pd_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_server_2b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_2b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_2b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_pd_server_1b_pd_server_2b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_pd_server_2b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_pd_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_pd_server_2b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      cpu_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_pd_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_pd_server_2b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_pd_server_2b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_pd_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_2b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_pd_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.ps_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_ps_server_2b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_ps_server_2b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_ps_server_2b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_2b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_ps_server_2b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      compute_ps_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_ps_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_ps_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      port_ps_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_ps_server_2b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_ps_server_2b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_ps_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_2b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_2b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_2b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_2b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_ps_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_ps_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_ps_server_1b_ps_server_2b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_ps_server_1b_ps_server_2b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_ps_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_ps_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_ps_server_2b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_2b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_ps_server_2b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_ps_server_2b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_ps_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_ps_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_ps_server_2b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      vlan_ids:
+        type: string
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ipv6_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ip_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      lb_st_vlan_type_oam:
+        type: string
+        description: dummy
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      net1:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_name_prefix:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_instance_index:
+        type: float
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_template_Vlan_vmi_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_template_Vlan_vmi_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..730daec
--- /dev/null
@@ -0,0 +1,43 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    jsa_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: jsa_name
+      type: string
+      description: network name of jsa log network
+  node_templates:
+    test_nested_all_patterns:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+      directives:
+      - substitutable
+      properties:
+        p1:
+          get_input: jsa_name
+        service_template_filter:
+          substitute_service_template: nested_pattern5ServiceTemplate.yaml
+        p2: image
+  groups:
+    main_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/main.yml
+        description: |
+          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+      members:
+      - test_nested_all_patterns
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/Nested_pd_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/Nested_pd_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..ee574e9
--- /dev/null
@@ -0,0 +1,474 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_pd_server_2b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_2b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_2b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_2b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_2b_port_network_role_tag:
+      type: string
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_2b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_2b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    compute_pd_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_2b_port_order:
+      type: integer
+      required: true
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_pd_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_pd_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_server_2b_port_network_role:
+      type: string
+      required: true
+    port_pd_server_1b_port_network_role:
+      type: string
+      required: true
+    port_pd_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_2b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_2b_port_subnetpoolid:
+      type: string
+      required: true
+    port_pd_server_1b_port_order:
+      type: integer
+      required: true
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+  node_templates:
+    pd_server_1b_pd_server_2b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_server_2b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_pd_server_2b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_pd_server_2b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_server_2b_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd_server_2b_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd_server_2b_port_mac_requirements
+        order:
+          get_input: port_pd_server_2b_port_order
+        network_role:
+          get_input: port_pd_server_2b_port_network_role
+        subnetpoolid:
+          get_input: port_pd_server_2b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_pd_server_2b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_pd_server_2b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_1b_pd_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b_pd_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_1b_name
+          - index_value
+    pd_server_1b_pd_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_pd_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_pd_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd_server_1b_port_mac_requirements
+        order:
+          get_input: port_pd_server_1b_port_order
+        network_role:
+          get_input: port_pd_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_pd_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_pd_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_pd_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server_1b
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
+      host_pd_server_1b:
+      - pd_server_1b
+      - host
+      disk.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes.rate
+      attachment_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - attachment
+      disk.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.allocation
+      network.outgoing.packets.rate_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - network.outgoing.packets.rate
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
+      cpu.delta_pd_server_1b:
+      - pd_server_1b
+      - cpu.delta
+      forwarder_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - forwarder
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
+      disk.device.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests
+      feature_pd_server_1b:
+      - pd_server_1b
+      - feature
+      disk.device.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
+      cpu_pd_server_1b:
+      - pd_server_1b
+      - cpu
+      disk.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes.rate
+      disk.device.read.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests.rate
+      endpoint_pd_server_1b:
+      - pd_server_1b
+      - endpoint
+      disk.device.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.device.allocation
+      memory.usage_pd_server_1b:
+      - pd_server_1b
+      - memory.usage
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
+      memory_pd_server_1b:
+      - pd_server_1b
+      - memory
+      disk.device.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.device.latency
+      disk.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes
+      forwarder_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - forwarder
+      disk.device.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
+      disk.device.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests
+      binding_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - binding
+      disk.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.latency
+      disk.ephemeral.size_pd_server_1b:
+      - pd_server_1b
+      - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
+      network.outpoing.packets_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - network.outpoing.packets
+      scalable_pd_server_1b:
+      - pd_server_1b
+      - scalable
+      feature_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - feature
+      disk.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests
+      network.outgoing.bytes_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - network.outgoing.bytes
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+      disk.device.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes.rate
+      disk.root.size_pd_server_1b:
+      - pd_server_1b
+      - disk.root.size
+      network.incoming.packets_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - network.incoming.packets
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - network.outgoing.bytes.rate
+      disk.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.iops
+      disk.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes
+      network.incoming.bytes.rate_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - network.incoming.bytes.rate
+      disk.device.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes
+      os_pd_server_1b:
+      - pd_server_1b
+      - os
+      vcpus_pd_server_1b:
+      - pd_server_1b
+      - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
+      instance_pd_server_1b:
+      - pd_server_1b
+      - instance
+      binding_pd_server_1b:
+      - pd_server_1b
+      - binding
+      cpu_util_pd_server_1b:
+      - pd_server_1b
+      - cpu_util
+      network.incoming.bytes_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - network.incoming.bytes
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
+      memory.resident_pd_server_1b:
+      - pd_server_1b
+      - memory.resident
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets
+      network.incoming.packets.rate_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - network.incoming.packets.rate
+      disk.device.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests.rate
+      disk.device.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.device.capacity
+      disk.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.read.requests
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
+      disk.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.capacity
+      disk.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.usage
+      disk.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests.rate
+    requirements:
+      link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_pd_server_1b:
+      - pd_server_1b
+      - dependency
+      local_storage_pd_server_1b:
+      - pd_server_1b
+      - local_storage
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - link
+      dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency
+      dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      dependency_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - dependency
+      link_pd_server_1b_pd_server_2b_port:
+      - pd_server_1b_pd_server_2b_port
+      - link
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/Nested_ps_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/Nested_ps_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..5e29959
--- /dev/null
@@ -0,0 +1,427 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_ps_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_ps_server_2b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_ps_server_2b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_ps_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_ps_server_2b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_ps_server_2b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_ps_server_2b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    compute_ps_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_ps_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_ps_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_ps_server_1b_port_order:
+      type: integer
+      required: true
+    port_ps_server_2b_port_order:
+      type: integer
+      required: true
+    port_ps_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_ps_server_2b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_ps_server_1b_port_network_role:
+      type: string
+      required: true
+    port_ps_server_2b_port_network_role:
+      type: string
+      required: true
+    port_ps_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+    port_ps_server_2b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_2b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_2b_port_subnetpoolid:
+      type: string
+      required: true
+  node_templates:
+    ps_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_ps_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_ps_server_1b_name
+          - index_value
+    ps_server_1b_ps_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_ps_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_ps_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_ps_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_ps_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_ps_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_ps_server_1b_port_mac_requirements
+        order:
+          get_input: port_ps_server_1b_port_order
+        network_role:
+          get_input: port_ps_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_ps_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_ps_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_ps_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b
+          relationship: tosca.relationships.network.BindsTo
+    ps_server_1b_ps_server_2b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_ps_server_2b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_ps_server_2b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_ps_server_2b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_ps_server_2b_port_ip_requirements
+        network_role_tag:
+          get_input: port_ps_server_2b_port_network_role_tag
+        mac_requirements:
+          get_input: port_ps_server_2b_port_mac_requirements
+        order:
+          get_input: port_ps_server_2b_port_order
+        network_role:
+          get_input: port_ps_server_2b_port_network_role
+        subnetpoolid:
+          get_input: port_ps_server_2b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_ps_server_2b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_ps_server_2b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.ps_server_1b
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes.rate
+      disk.device.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.device.usage
+      disk.device.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.device.allocation
+      disk.device.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests
+      cpu_util_ps_server_1b:
+      - ps_server_1b
+      - cpu_util
+      scalable_ps_server_1b:
+      - ps_server_1b
+      - scalable
+      disk.device.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.device.latency
+      disk.device.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.device.iops
+      attachment_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - attachment
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.packets.rate
+      network.incoming.packets.rate_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - network.incoming.packets.rate
+      disk.device.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.device.capacity
+      forwarder_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - forwarder
+      instance_ps_server_1b:
+      - ps_server_1b
+      - instance
+      cpu_ps_server_1b:
+      - ps_server_1b
+      - cpu
+      disk.device.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes
+      disk.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes.rate
+      disk.device.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests
+      host_ps_server_1b:
+      - ps_server_1b
+      - host
+      disk.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.usage
+      attachment_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - attachment
+      disk.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.read.requests
+      disk.device.read.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests.rate
+      disk.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.capacity
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - network.outgoing.bytes.rate
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes
+      disk.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests.rate
+      disk.device.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes
+      disk.device.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests.rate
+      disk.root.size_ps_server_1b:
+      - ps_server_1b
+      - disk.root.size
+      feature_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - feature
+      binding_ps_server_1b:
+      - ps_server_1b
+      - binding
+      memory.resident_ps_server_1b:
+      - ps_server_1b
+      - memory.resident
+      memory_ps_server_1b:
+      - ps_server_1b
+      - memory
+      disk.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes.rate
+      network.incoming.bytes.rate_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - network.incoming.bytes.rate
+      network.incoming.bytes_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - network.incoming.bytes
+      disk.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets.rate
+      forwarder_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - forwarder
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets
+      binding_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - binding
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes.rate
+      feature_ps_server_1b:
+      - ps_server_1b
+      - feature
+      os_ps_server_1b:
+      - ps_server_1b
+      - os
+      network.outpoing.packets_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - network.outpoing.packets
+      disk.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.iops
+      disk.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.allocation
+      disk.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outpoing.packets
+      memory.usage_ps_server_1b:
+      - ps_server_1b
+      - memory.usage
+      network.outgoing.bytes_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - network.outgoing.bytes
+      disk.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.latency
+      network.outgoing.packets.rate_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - network.outgoing.packets.rate
+      endpoint_ps_server_1b:
+      - ps_server_1b
+      - endpoint
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes.rate
+      network.incoming.packets_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - network.incoming.packets
+      feature_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - feature
+      vcpus_ps_server_1b:
+      - ps_server_1b
+      - vcpus
+      cpu.delta_ps_server_1b:
+      - ps_server_1b
+      - cpu.delta
+      disk.ephemeral.size_ps_server_1b:
+      - ps_server_1b
+      - disk.ephemeral.size
+      binding_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - binding
+    requirements:
+      link_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - link
+      local_storage_ps_server_1b:
+      - ps_server_1b
+      - local_storage
+      dependency_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - dependency
+      link_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - link
+      dependency_ps_server_1b_ps_server_2b_port:
+      - ps_server_1b_ps_server_2b_port
+      - dependency
+      dependency_ps_server_1b:
+      - ps_server_1b
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/nested_pattern5ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/nested_pattern5ServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..f550cb2
--- /dev/null
@@ -0,0 +1,739 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    p1:
+      hidden: false
+      immutable: false
+      type: string
+      description: UID of OAM network
+    p2:
+      hidden: false
+      immutable: false
+      type: string
+      description: UID of OAM network
+    ps_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_internal_network_name:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: PD server names
+      entry_schema:
+        type: string
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    ps_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: Ps server names
+      entry_schema:
+        type: string
+    ps_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PD server
+    pd_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_external_network_name:
+      hidden: false
+      immutable: false
+      type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    ps_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PS server
+    ps_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: Ps Image server
+    net:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: PD Image server
+    pd_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+  node_templates:
+    packet_external_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_external_network_name
+    packet_internal_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_internal_network_name
+    abstract_pd_server_1b:
+      type: org.openecomp.resource.abstract.nodes.pd_server_1b
+      directives:
+      - substitutable
+      properties:
+        port_pd_server_2b_port_network:
+        - get_input: net
+        compute_pd_server_1b_name:
+        - get_input:
+          - pd_server_1b_names
+          - 0
+        port_pd_server_2b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_pd_server_2b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - pd_server_2b_ips
+            - 0
+        vm_flavor_name:
+          get_input: pd_server_1b_flavor
+        subinterface_nested_vlan_net1:
+        - packet_external_network
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_2b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        subinterface_nested_vlan_parent_interface:
+        - pd_server_1b_port
+        port_pd_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - pd_server_1b_ips
+            - 0
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_pd_server_1b_port_network:
+        - packet_internal_network
+        port_pd_server_2b_port_replacement_policy:
+        - AUTO
+        service_template_filter:
+          substitute_service_template: Nested_pd_server_1bServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_pd_server_1b_pd_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_internal_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_external_network
+          relationship: tosca.relationships.network.LinksTo
+    abstract_ps_server_1b:
+      type: org.openecomp.resource.abstract.nodes.ps_server_1b
+      directives:
+      - substitutable
+      properties:
+        port_ps_server_2b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_ps_server_2b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_ps_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - ps_server_1b_ips
+            - 0
+        port_ps_server_2b_port_network:
+        - get_input: net
+        vm_flavor_name:
+          get_input: ps_server_1b_flavor
+        vm_image_name:
+          get_input: ps_server_1b_image
+        port_ps_server_2b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - ps_server_2b_ips
+            - 0
+        compute_ps_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        compute_ps_server_1b_name:
+        - get_input:
+          - ps_server_1b_names
+          - 1
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_ps_server_1b_port_network:
+        - packet_internal_network
+        port_ps_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
+        port_ps_server_2b_port_replacement_policy:
+        - AUTO
+        service_template_filter:
+          substitute_service_template: Nested_ps_server_1bServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_ps_server_1b_ps_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_internal_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    nested_pattern5_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5.yml
+        description: nested1
+      members:
+      - packet_external_network
+      - packet_internal_network
+      - abstract_ps_server_1b
+      - abstract_pd_server_1b
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+    capabilities:
+      disk.capacity_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.capacity_pd_server_1b
+      disk.device.read.bytes.rate_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes.rate_ps_server_1b
+      network.outgoing.packets.rate_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_2b_port
+      network.incoming.bytes.rate_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.usage_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.usage_pd_server_1b
+      vcpus_server_1b_pd:
+      - abstract_pd_server_1b
+      - vcpus_pd_server_1b
+      disk.write.bytes.rate_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.write.bytes.rate_ps_server_1b
+      binding_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b_ps_server_2b_port
+      feature_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b_ps_server_1b_port
+      network.incoming.bytes_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
+      vcpus_server_1b_ps:
+      - abstract_ps_server_1b
+      - vcpus_ps_server_1b
+      disk.device.iops_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.iops_ps_server_1b
+      disk.write.bytes.rate_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.write.bytes.rate_pd_server_1b
+      os_server_1b_pd:
+      - abstract_pd_server_1b
+      - os_pd_server_1b
+      network.incoming.packets.rate_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - network.incoming.packets.rate_ps_server_1b_ps_server_2b_port
+      attachment_packet_internal_network:
+      - packet_internal_network
+      - attachment
+      network.outgoing.packets.rate_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
+      disk.device.latency_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.latency_pd_server_1b
+      disk.device.iops_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.iops_pd_server_1b
+      network.incoming.packets_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
+      network.outgoing.bytes.rate_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_2b_port
+      attachment_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - attachment_ps_server_1b_ps_server_1b_port
+      disk.device.usage_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.usage_pd_server_1b
+      forwarder_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - forwarder_ps_server_1b_ps_server_1b_port
+      disk.device.read.bytes.rate_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes.rate_pd_server_1b
+      os_server_1b_ps:
+      - abstract_ps_server_1b
+      - os_ps_server_1b
+      disk.device.latency_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.latency_ps_server_1b
+      network.outgoing.bytes_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes_ps_server_1b_ps_server_2b_port
+      disk.device.usage_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.usage_ps_server_1b
+      forwarder_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_2b_port
+      disk.read.bytes_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.read.bytes_ps_server_1b
+      disk.ephemeral.size_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.ephemeral.size_pd_server_1b
+      disk.latency_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.latency_pd_server_1b
+      memory_server_1b_ps:
+      - abstract_ps_server_1b
+      - memory_ps_server_1b
+      disk.device.read.requests.rate_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.read.requests.rate_pd_server_1b
+      network.outgoing.bytes.rate_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
+      network.incoming.packets.rate_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
+      feature_server_1b_ps:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b
+      disk.write.requests.rate_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.write.requests.rate_ps_server_1b
+      host_server_1b_pd:
+      - abstract_pd_server_1b
+      - host_pd_server_1b
+      disk.ephemeral.size_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.ephemeral.size_ps_server_1b
+      network.incoming.packets_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_2b_port
+      disk.device.read.requests.rate_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.read.requests.rate_ps_server_1b
+      disk.read.bytes_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.read.bytes_pd_server_1b
+      memory_server_1b_pd:
+      - abstract_pd_server_1b
+      - memory_pd_server_1b
+      disk.write.bytes_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.write.bytes_ps_server_1b
+      attachment_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_2b_port
+      end_point_packet_external_network:
+      - packet_external_network
+      - end_point
+      binding_server_1b_ps:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b
+      binding_server_1b_pd:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b
+      network.outpoing.packets_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
+      feature_server_1b_pd:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b
+      memory.usage_server_1b_pd:
+      - abstract_pd_server_1b
+      - memory.usage_pd_server_1b
+      feature_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_2b_port
+      feature_template_Vlan_vmi_1_test_resourceGroup:
+      - test_resourceGroup
+      - feature_template_Vlan_vmi_1
+      disk.root.size_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.root.size_ps_server_1b
+      disk.device.allocation_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.allocation_pd_server_1b
+      network.incoming.bytes.rate_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_2b_port
+      network.outgoing.bytes_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
+      disk.write.bytes_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.write.bytes_pd_server_1b
+      memory.usage_server_1b_ps:
+      - abstract_ps_server_1b
+      - memory.usage_ps_server_1b
+      cpu_util_server_1b_pd:
+      - abstract_pd_server_1b
+      - cpu_util_pd_server_1b
+      disk.device.capacity_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.capacity_pd_server_1b
+      disk.root.size_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.root.size_pd_server_1b
+      feature_test_resourceGroup:
+      - test_resourceGroup
+      - feature
+      disk.device.capacity_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.capacity_ps_server_1b
+      cpu_util_server_1b_ps:
+      - abstract_ps_server_1b
+      - cpu_util_ps_server_1b
+      disk.write.requests.rate_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.write.requests.rate_pd_server_1b
+      link_packet_external_network:
+      - packet_external_network
+      - link
+      network.outpoing.packets_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_2b_port
+      host_server_1b_ps:
+      - abstract_ps_server_1b
+      - host_ps_server_1b
+      instance_server_1b_pd:
+      - abstract_pd_server_1b
+      - instance_pd_server_1b
+      disk.device.write.bytes_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes_pd_server_1b
+      disk.device.write.bytes_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes_ps_server_1b
+      network.incoming.bytes.rate_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
+      disk.iops_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.iops_pd_server_1b
+      instance_server_1b_ps:
+      - abstract_ps_server_1b
+      - instance_ps_server_1b
+      disk.device.allocation_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.allocation_ps_server_1b
+      end_point_packet_internal_network:
+      - packet_internal_network
+      - end_point
+      feature_packet_internal_network:
+      - packet_internal_network
+      - feature
+      cpu.delta_server_1b_ps:
+      - abstract_ps_server_1b
+      - cpu.delta_ps_server_1b
+      forwarder_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_1b_port
+      disk.device.write.requests.rate_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.write.requests.rate_ps_server_1b
+      network.outgoing.packets.rate_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_2b_port
+      forwarder_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - forwarder_ps_server_1b_ps_server_2b_port
+      disk.iops_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.iops_ps_server_1b
+      network.outgoing.bytes_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_2b_port
+      disk.read.bytes.rate_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.read.bytes.rate_ps_server_1b
+      disk.device.write.bytes.rate_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes.rate_pd_server_1b
+      cpu.delta_server_1b_pd:
+      - abstract_pd_server_1b
+      - cpu.delta_pd_server_1b
+      network.incoming.packets.rate_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_2b_port
+      disk.device.write.requests_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.write.requests_pd_server_1b
+      network.outgoing.bytes.rate_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_2b_port
+      network.incoming.packets_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
+      network.outgoing.packets.rate_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
+      disk.write.requests_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.write.requests_ps_server_1b
+      feature_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_1b_port
+      network.incoming.bytes_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
+      attachment_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_1b_port
+      scalable_server_1b_ps:
+      - abstract_ps_server_1b
+      - scalable_ps_server_1b
+      binding_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b_ps_server_1b_port
+      disk.device.write.bytes.rate_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes.rate_ps_server_1b
+      network.incoming.bytes_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_2b_port
+      disk.device.write.requests_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.write.requests_ps_server_1b
+      feature_packet_external_network:
+      - packet_external_network
+      - feature
+      disk.latency_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.latency_ps_server_1b
+      scalable_server_1b_pd:
+      - abstract_pd_server_1b
+      - scalable_pd_server_1b
+      disk.write.requests_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.write.requests_pd_server_1b
+      binding_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_2b_port
+      disk.device.read.requests_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.read.requests_pd_server_1b
+      network.outgoing.bytes.rate_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
+      disk.read.requests_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.read.requests_pd_server_1b
+      network.incoming.packets_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - network.incoming.packets_ps_server_1b_ps_server_2b_port
+      network.incoming.packets.rate_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
+      disk.device.read.requests_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.read.requests_ps_server_1b
+      binding_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_1b_port
+      disk.read.bytes.rate_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.read.bytes.rate_pd_server_1b
+      link_packet_internal_network:
+      - packet_internal_network
+      - link
+      network.incoming.bytes_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - network.incoming.bytes_ps_server_1b_ps_server_2b_port
+      endpoint_server_1b_pd:
+      - abstract_pd_server_1b
+      - endpoint_pd_server_1b
+      endpoint_server_1b_ps:
+      - abstract_ps_server_1b
+      - endpoint_ps_server_1b
+      cpu_server_1b_pd:
+      - abstract_pd_server_1b
+      - cpu_pd_server_1b
+      network.outpoing.packets_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - network.outpoing.packets_ps_server_1b_ps_server_2b_port
+      disk.allocation_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.allocation_pd_server_1b
+      network.outgoing.bytes_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
+      disk.device.read.bytes_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes_ps_server_1b
+      network.incoming.bytes.rate_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_2b_port
+      disk.device.write.requests.rate_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.write.requests.rate_pd_server_1b
+      cpu_server_1b_ps:
+      - abstract_ps_server_1b
+      - cpu_ps_server_1b
+      disk.allocation_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.allocation_ps_server_1b
+      memory.resident_server_1b_pd:
+      - abstract_pd_server_1b
+      - memory.resident_pd_server_1b
+      disk.read.requests_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.read.requests_ps_server_1b
+      feature_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b_ps_server_2b_port
+      memory.resident_server_1b_ps:
+      - abstract_ps_server_1b
+      - memory.resident_ps_server_1b
+      disk.capacity_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.capacity_ps_server_1b
+      disk.device.read.bytes_server_1b_pd:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes_pd_server_1b
+      network.outpoing.packets_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
+      attachment_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - attachment_ps_server_1b_ps_server_2b_port
+      attachment_packet_external_network:
+      - packet_external_network
+      - attachment
+      disk.usage_server_1b_ps:
+      - abstract_ps_server_1b
+      - disk.usage_ps_server_1b
+    requirements:
+      dependency_server_1b_pd:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b
+      local_storage_server_1b_ps:
+      - abstract_ps_server_1b
+      - local_storage_ps_server_1b
+      dependency_template_Vlan_vmi_1_test_resourceGroup:
+      - test_resourceGroup
+      - dependency_template_Vlan_vmi_1
+      link_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - link_ps_server_1b_ps_server_2b_port
+      dependency_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_2b_port
+      dependency_test_resourceGroup:
+      - test_resourceGroup
+      - dependency
+      local_storage_server_1b_pd:
+      - abstract_pd_server_1b
+      - local_storage_pd_server_1b
+      dependency_ps_server_1b_port:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b_ps_server_1b_port
+      dependency_ps_server_2b_port:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b_ps_server_2b_port
+      dependency_server_1b_ps:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b
+      dependency_pd_server_1b_port:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_1b_port
+      dependency_packet_internal_network:
+      - packet_internal_network
+      - dependency
+      link_pd_server_2b_port:
+      - abstract_pd_server_1b
+      - link_pd_server_1b_pd_server_2b_port
+      dependency_packet_external_network:
+      - packet_external_network
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/nested_vlanServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/baseScenario/out/nested_vlanServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..ed59356
--- /dev/null
@@ -0,0 +1,111 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_vlan
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    vlan_ids:
+      hidden: false
+      immutable: false
+      type: string
+    parent_interface:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ipv6_address:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ip_address:
+      hidden: false
+      immutable: false
+      type: string
+    lb_st_vlan_type_oam:
+      hidden: false
+      immutable: false
+      type: string
+      description: dummy
+    mac_address:
+      hidden: false
+      immutable: false
+      type: string
+    net1:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_name_prefix:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_instance_index:
+      hidden: false
+      immutable: false
+      type: float
+  node_templates:
+    template_Vlan_vmi_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      properties:
+        virtual_machine_interface_refs:
+        - get_input: parent_interface
+        name:
+          str_replace:
+            template: $NAME$VLAN
+            params:
+              $NAME:
+                get_input: subinterface_name_prefix
+              $VLAN:
+                get_input:
+                - vlan_ids
+                - get_input: subinterface_instance_index
+        virtual_network_refs:
+        - get_input: net1
+        virtual_machine_interface_properties:
+          sub_interface_vlan_tag:
+            get_input: lb_st_vlan_type_oam
+        virtual_machine_interface_allowed_address_pairs:
+          allowed_address_pair:
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ip_address
+              ip_prefix_len: 32
+            mac:
+              get_input: mac_address
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ipv6_address
+              ip_prefix_len: 128
+            mac:
+              get_input: mac_address
+        virtual_machine_interface_mac_addresses:
+          mac_address:
+          - get_input: mac_address
+  groups:
+    nested_vlan_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_vlan.yml
+        description: cmaui server template for vMMSC
+      members:
+      - template_Vlan_vmi_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+    capabilities:
+      feature_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - feature
+    requirements:
+      link_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - link
+      dependency_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - dependency
+      binding_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - binding
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..094b809
--- /dev/null
@@ -0,0 +1,27 @@
+{
+  "name": "Nested test",
+  "description": "HOT template to create nested one level multiple compute",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true"
+    },
+    {
+      "file": "nested_pattern5.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_pattern5_levelTwo.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_vlan.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/main.yml
new file mode 100644 (file)
index 0000000..05f9526
--- /dev/null
@@ -0,0 +1,13 @@
+heat_template_version: 2013-05-23
+
+description: >
+  Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+
+parameters:
+  jsa_name:
+    type: string
+    description: network name of jsa log network
+
+resources:
+  test_nested_level1:
+    type: nested_pattern5.yml
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/nested_pattern5.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/nested_pattern5.yml
new file mode 100644 (file)
index 0000000..51be693
--- /dev/null
@@ -0,0 +1,80 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  sub_inf_net:
+      type: string
+      description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  pd_server_1b_names:
+    type: comma_delimited_list
+    description: PD server names
+  pd_server_1b_image:
+    type: string
+    description: PD Image server
+  pd_server_1b_flavor:
+    type: string
+    description: Flavor for PD server
+  pd_server_1b_ips:
+    type: string
+  pd_server_2b_ips:
+    type: string
+  packet_external_network_name:
+    type: string
+    description: network name
+  packet_internal_network_name:
+    type: string
+    description: network name
+
+resources:
+  packet_internal_network:
+      type: OS::Neutron::Net
+      properties:
+        name:
+          get_param: packet_internal_network_name
+
+  packet_external_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_external_network_name
+
+  pd_server_1b_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: packet_internal_network }
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_pd_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 0]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_0 }
+
+  test_resourceGroup_0:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port_0}
+          net1: { get_resource: packet_external_network}
+
+  test_nested_level2:
+    type: nested_pattern5_levelTwo.yml
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/nested_pattern5_levelTwo.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/nested_pattern5_levelTwo.yml
new file mode 100644 (file)
index 0000000..4081ff4
--- /dev/null
@@ -0,0 +1,77 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  sub_inf_net:
+    type: string
+    description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  ps_server_1b_names:
+    type: comma_delimited_list
+    description: Ps server names
+  ps_server_1b_image:
+    type: string
+    description: Ps Image server
+  ps_server_1b_flavor:
+    type: string
+    description: Flavor for PS server
+  ps_server_1b_ips:
+    type: string
+  ps_server_2b_ips:
+    type: string
+  packet_ext_network_name:
+    type: string
+    description: network name
+  packet_int_network_name:
+    type: string
+    description: network name
+
+resources:
+  packet_int_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_int_network_name
+
+  packet_ext_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_ext_network_name
+
+  ps_server_1b_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_int_network}
+      fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_ps_1:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [ps_server_1b_names, 1]}
+      image: { get_param: ps_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: ps_server_1b_flavor }
+      networks:
+      - port: { get_resource: ps_server_1b_port_1 }
+
+  test_resourceGroup_1:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: ps_server_1b_port_1}
+          net1: { get_resource: packet_ext_network}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/nested_vlan.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/in/nested_vlan.yml
new file mode 100644 (file)
index 0000000..cc50a66
--- /dev/null
@@ -0,0 +1,68 @@
+heat_template_version: 2018-02-01
+
+description: cmaui server template for vMMSC
+
+parameters:
+  parent_interface:
+    type: string
+  net1:
+    type: string
+  lb_st_vlan_type_oam:
+    description: dummy
+    type: string
+  mac_address:
+    type: string
+  virtual_ip_address:
+    type: string
+  virtual_ipv6_address:
+    type: string
+  vlan_ids:
+    type: string
+  subinterface_name_prefix:
+    type: string
+  subinterface_instance_index:
+    type: number
+resources:
+
+  template_Vlan_vmi_1:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          template: $NAME$VLAN
+          params:
+            $NAME: { get_param: subinterface_name_prefix }
+            $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+      virtual_machine_interface_properties:
+        {
+          virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+        }
+      virtual_machine_interface_mac_addresses:
+        {
+        virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+        }
+      virtual_machine_interface_allowed_address_pairs:
+        {
+        virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+              }
+            },
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+              }
+            }
+          ]
+        }
+      virtual_network_refs: [{ get_param: net1 }]
+      virtual_machine_interface_refs: [{ get_param: parent_interface }]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..0a67728
--- /dev/null
@@ -0,0 +1,1947 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_flavor:
+        type: string
+        description: Flavor for PD server
+        required: true
+        status: SUPPORTED
+      pd_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_external_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      packet_internal_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      pd_server_1b_names:
+        type: list
+        description: PD server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_image:
+        type: string
+        description: PD Image server
+        required: true
+        status: SUPPORTED
+      pd_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_server_1b_pd_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_0:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_external_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_port_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_internal_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_1_test_nested_level2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_ext_network_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_int_network_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      scalable_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_internal_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_external_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_0:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_external_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port_0:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_internal_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_internal_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_0:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_0:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      host_server_1b_pd_0:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_external_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_0:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_internal_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_0:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_external_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.pd_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      compute_pd_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_pd_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      cpu_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_pd_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_pd_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_pd_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.ps_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_ps_server_1b_port_1_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      ps_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_1_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_1_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      ps_server_1b_names:
+        type: list
+        description: Ps server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      packet_ext_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_1_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      ps_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_int_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_1_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_1_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_1_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      ps_server_1b_flavor:
+        type: string
+        description: Flavor for PS server
+        required: true
+        status: SUPPORTED
+      ps_server_1b_image:
+        type: string
+        description: Ps Image server
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_1_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+    requirements:
+    - dependency_server_1b_ps_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_1:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_ext_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_int_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      disk.write.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_1:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_1:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_1:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_ext_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_int_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_int_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_1:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_ext_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_int_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_1:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_ext_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_1:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_ext_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_1:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_int_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      vlan_ids:
+        type: string
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ipv6_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ip_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      lb_st_vlan_type_oam:
+        type: string
+        description: dummy
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      net1:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_name_prefix:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_instance_index:
+        type: float
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_template_Vlan_vmi_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_template_Vlan_vmi_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9fb0fbf
--- /dev/null
@@ -0,0 +1,40 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    jsa_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: jsa_name
+      type: string
+      description: network name of jsa log network
+  node_templates:
+    test_nested_level1:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_pattern5ServiceTemplate.yaml
+  groups:
+    main_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/main.yml
+        description: |
+          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+      members:
+      - test_nested_level1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/Nested_pd_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/Nested_pd_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9bea96b
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    compute_pd_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_server_1b_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_order:
+      type: integer
+      required: true
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+  node_templates:
+    pd_server_1b_pd_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b_pd_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_1b_name
+          - index_value
+    pd_server_1b_pd_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_pd_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_pd_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd_server_1b_port_mac_requirements
+        order:
+          get_input: port_pd_server_1b_port_order
+        network_role:
+          get_input: port_pd_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_pd_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_pd_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_pd_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server_1b
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
+      host_pd_server_1b:
+      - pd_server_1b
+      - host
+      disk.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes.rate
+      disk.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.allocation
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
+      cpu.delta_pd_server_1b:
+      - pd_server_1b
+      - cpu.delta
+      forwarder_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - forwarder
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
+      disk.device.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests
+      feature_pd_server_1b:
+      - pd_server_1b
+      - feature
+      disk.device.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
+      cpu_pd_server_1b:
+      - pd_server_1b
+      - cpu
+      disk.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes.rate
+      disk.device.read.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests.rate
+      endpoint_pd_server_1b:
+      - pd_server_1b
+      - endpoint
+      disk.device.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.device.allocation
+      memory.usage_pd_server_1b:
+      - pd_server_1b
+      - memory.usage
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
+      memory_pd_server_1b:
+      - pd_server_1b
+      - memory
+      disk.device.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.device.latency
+      disk.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes
+      disk.device.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
+      disk.device.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests
+      disk.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.latency
+      disk.ephemeral.size_pd_server_1b:
+      - pd_server_1b
+      - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
+      scalable_pd_server_1b:
+      - pd_server_1b
+      - scalable
+      disk.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+      disk.device.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes.rate
+      disk.root.size_pd_server_1b:
+      - pd_server_1b
+      - disk.root.size
+      disk.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.iops
+      disk.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes
+      os_pd_server_1b:
+      - pd_server_1b
+      - os
+      vcpus_pd_server_1b:
+      - pd_server_1b
+      - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
+      instance_pd_server_1b:
+      - pd_server_1b
+      - instance
+      binding_pd_server_1b:
+      - pd_server_1b
+      - binding
+      cpu_util_pd_server_1b:
+      - pd_server_1b
+      - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
+      memory.resident_pd_server_1b:
+      - pd_server_1b
+      - memory.resident
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets
+      disk.device.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests.rate
+      disk.device.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.device.capacity
+      disk.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.read.requests
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
+      disk.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.capacity
+      disk.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.usage
+      disk.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests.rate
+    requirements:
+      link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_pd_server_1b:
+      - pd_server_1b
+      - dependency
+      local_storage_pd_server_1b:
+      - pd_server_1b
+      - local_storage
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - link
+      dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency
+      dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/nested_pattern5ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/nested_pattern5ServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..2a33ee3
--- /dev/null
@@ -0,0 +1,600 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    pd_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PD server
+    pd_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_external_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    packet_internal_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    pd_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: PD server names
+      entry_schema:
+        type: string
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    pd_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: PD Image server
+    pd_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+  node_templates:
+    packet_external_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_external_network_name
+    packet_internal_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_internal_network_name
+    test_nested_level2:
+      type: org.openecomp.resource.abstract.nodes.heat.ps_server_1b
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_pattern5_levelTwoServiceTemplate.yaml
+        port_ps_server_1b_port_1_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_ps_server_1b_port_1_mac_requirements:
+          mac_count_required:
+            is_required: false
+    abstract_pd_server_1b:
+      type: org.openecomp.resource.abstract.nodes.pd_server_1b
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_1b_name:
+        - get_input:
+          - pd_server_1b_names
+          - 0
+        vm_flavor_name:
+          get_input: pd_server_1b_flavor
+        subinterface_nested_vlan_net1:
+        - packet_external_network
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        subinterface_nested_vlan_parent_interface:
+        - pd_server_1b_port_0
+        port_pd_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - pd_server_1b_ips
+            - 0
+        port_pd_server_1b_port_network:
+        - packet_internal_network
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        service_template_filter:
+          substitute_service_template: Nested_pd_server_1bServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_pd_server_1b_pd_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_internal_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_external_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    nested_pattern5_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5.yml
+        description: nested1
+      members:
+      - packet_external_network
+      - packet_internal_network
+      - test_nested_level2
+      - abstract_pd_server_1b
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+    capabilities:
+      scalable_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - scalable_server_1b_ps_1
+      disk.device.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes.rate_server_1b_ps_1
+      end_point_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - end_point_packet_ext_network
+      disk.device.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests_pd_server_1b
+      disk.device.read.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes_server_1b_ps_1
+      feature_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - feature_packet_ext_network
+      forwarder_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - forwarder_ps_server_1b_port_1
+      forwarder_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_1b_port
+      disk.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.capacity_pd_server_1b
+      network.outpoing.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
+      network.incoming.packets_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets_ps_server_1b_port_1
+      feature_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_1b_port
+      memory_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory_server_1b_ps_1
+      link_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - link_packet_int_network
+      os_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - os_server_1b_ps_1
+      disk.root.size_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.root.size_server_1b_ps_1
+      attachment_packet_internal_network:
+      - packet_internal_network
+      - attachment
+      disk.device.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.allocation_pd_server_1b
+      feature_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature
+      disk.write.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests_server_1b_ps_1
+      feature_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - feature_packet_int_network
+      cpu_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_pd_server_1b
+      disk.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests.rate_pd_server_1b
+      disk.latency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.latency_server_1b_ps_1
+      disk.device.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes.rate_pd_server_1b
+      feature_test_nested_level2:
+      - test_nested_level2
+      - feature
+      disk.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes.rate_pd_server_1b
+      disk.device.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.usage_server_1b_ps_1
+      disk.read.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes_server_1b_ps_1
+      cpu_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu_server_1b_ps_1
+      disk.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.usage_pd_server_1b
+      end_point_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - end_point_packet_int_network
+      disk.device.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.iops_pd_server_1b
+      disk.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes.rate_server_1b_ps_1
+      cpu_util_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_util_pd_server_1b
+      disk.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.requests_pd_server_1b
+      disk.device.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes.rate_pd_server_1b
+      vcpus_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - vcpus_server_1b_ps_1
+      disk.device.write.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes_server_1b_ps_1
+      disk.iops_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.iops_server_1b_ps_1
+      feature_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b
+      disk.capacity_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.capacity_server_1b_ps_1
+      disk.allocation_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.allocation_server_1b_ps_1
+      endpoint_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - endpoint_server_1b_ps_1
+      disk.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.usage_server_1b_ps_1
+      disk.device.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes_pd_server_1b
+      disk.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.iops_pd_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature_template_Vlan_vmi_1
+      end_point_packet_external_network:
+      - packet_external_network
+      - end_point
+      disk.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes_pd_server_1b
+      binding_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b
+      disk.device.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests.rate_pd_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - feature_template_Vlan_vmi_1_test_resourceGroup_1
+      network.outgoing.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
+      disk.read.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.requests_server_1b_ps_1
+      memory.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory.usage_server_1b_ps_1
+      link_packet_external_network:
+      - packet_external_network
+      - link
+      disk.device.iops_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.iops_server_1b_ps_1
+      memory.resident_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.resident_pd_server_1b
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
+      disk.device.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes_pd_server_1b
+      feature_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - feature_server_1b_ps_1
+      attachment_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_1b_port
+      attachment_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - attachment_packet_ext_network
+      disk.device.write.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests.rate_server_1b_ps_1
+      host_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - host_server_1b_ps_1
+      disk.ephemeral.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.ephemeral.size_pd_server_1b
+      network.outgoing.bytes_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes_ps_server_1b_port_1
+      disk.write.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes_server_1b_ps_1
+      end_point_packet_internal_network:
+      - packet_internal_network
+      - end_point
+      attachment_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - attachment_ps_server_1b_port_1
+      feature_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - feature_ps_server_1b_port_1
+      feature_packet_internal_network:
+      - packet_internal_network
+      - feature
+      cpu.delta_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu.delta_server_1b_ps_1
+      disk.device.write.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests_server_1b_ps_1
+      disk.device.capacity_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.capacity_server_1b_ps_1
+      instance_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - instance_pd_server_1b
+      disk.device.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.capacity_pd_server_1b
+      disk.device.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes.rate_server_1b_ps_1
+      network.incoming.packets.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets.rate_ps_server_1b_port_1
+      instance_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - instance_server_1b_ps_1
+      network.outgoing.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes.rate_ps_server_1b_port_1
+      disk.device.read.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests_server_1b_ps_1
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
+      os_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - os_pd_server_1b
+      network.incoming.bytes_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes_ps_server_1b_port_1
+      endpoint_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - endpoint_pd_server_1b
+      disk.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes_pd_server_1b
+      cpu_util_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu_util_server_1b_ps_1
+      binding_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - binding_server_1b_ps_1
+      network.incoming.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes.rate_ps_server_1b_port_1
+      binding_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - binding_ps_server_1b_port_1
+      host_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - host_pd_server_1b
+      attachment_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - attachment_packet_int_network
+      network.incoming.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
+      disk.root.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.root.size_pd_server_1b
+      disk.ephemeral.size_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.ephemeral.size_server_1b_ps_1
+      memory_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory_pd_server_1b
+      disk.device.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.latency_pd_server_1b
+      disk.device.read.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests.rate_server_1b_ps_1
+      disk.device.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.usage_pd_server_1b
+      feature_packet_external_network:
+      - packet_external_network
+      - feature
+      memory.resident_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory.resident_server_1b_ps_1
+      network.outgoing.packets.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.packets.rate_ps_server_1b_port_1
+      disk.device.latency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.latency_server_1b_ps_1
+      disk.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.allocation_pd_server_1b
+      link_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - link_packet_ext_network
+      binding_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_1b_port
+      disk.device.read.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests.rate_pd_server_1b
+      link_packet_internal_network:
+      - packet_internal_network
+      - link
+      disk.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests_pd_server_1b
+      disk.device.allocation_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.allocation_server_1b_ps_1
+      scalable_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - scalable_pd_server_1b
+      cpu.delta_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu.delta_pd_server_1b
+      disk.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes.rate_server_1b_ps_1
+      feature_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - feature_test_resourceGroup_1
+      vcpus_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - vcpus_pd_server_1b
+      disk.device.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests_pd_server_1b
+      network.incoming.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
+      disk.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes.rate_pd_server_1b
+      memory.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.usage_pd_server_1b
+      attachment_packet_external_network:
+      - packet_external_network
+      - attachment
+      network.outpoing.packets_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outpoing.packets_ps_server_1b_port_1
+      disk.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.latency_pd_server_1b
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
+      disk.write.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests.rate_server_1b_ps_1
+    requirements:
+      dependency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_server_1b_ps_1
+      dependency_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_ps_server_1b_port_1
+      dependency_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_1b_port
+      dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency_template_Vlan_vmi_1
+      dependency_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency
+      dependency_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_test_resourceGroup_1
+      local_storage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - local_storage_pd_server_1b
+      local_storage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - local_storage_server_1b_ps_1
+      dependency_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - dependency_packet_int_network
+      dependency_packet_internal_network:
+      - packet_internal_network
+      - dependency
+      dependency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_template_Vlan_vmi_1_test_resourceGroup_1
+      dependency_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - dependency_packet_ext_network
+      dependency_test_nested_level2:
+      - test_nested_level2
+      - dependency
+      dependency_packet_external_network:
+      - packet_external_network
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..8fb377d
--- /dev/null
@@ -0,0 +1,404 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5_levelTwo
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_ps_server_1b_port_1_network_role_tag:
+      type: string
+      required: true
+    ps_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    port_ps_server_1b_port_1_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_1_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    ps_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: Ps server names
+      entry_schema:
+        type: string
+    packet_ext_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    port_ps_server_1b_port_1_network_role:
+      type: string
+      required: true
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    ps_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_int_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    port_ps_server_1b_port_1_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_ps_server_1b_port_1_order:
+      type: integer
+      required: true
+    port_ps_server_1b_port_1_subnetpoolid:
+      type: string
+      required: true
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    ps_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PS server
+    ps_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: Ps Image server
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    port_ps_server_1b_port_1_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+  node_templates:
+    server_1b_ps_1:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b
+      properties:
+        flavor:
+          get_input: ps_server_1b_flavor
+        availability_zone:
+          get_input: availability_zone_0
+        image:
+          get_input: ps_server_1b_image
+        name:
+          get_input:
+          - ps_server_1b_names
+          - 1
+    test_resourceGroup_1:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface: ps_server_1b_port_1
+        net1: packet_ext_network
+      requirements:
+      - link_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_ext_network
+          relationship: tosca.relationships.network.LinksTo
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b_port_1
+          relationship: tosca.relationships.network.BindsTo
+    ps_server_1b_port_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy: AUTO
+        ip_requirements:
+          get_input: port_ps_server_1b_port_1_ip_requirements
+        network_role:
+          get_input: port_ps_server_1b_port_1_network_role
+        fixed_ips:
+        - ip_address:
+            get_input:
+            - ps_server_1b_ips
+            - 0
+        subnetpoolid:
+          get_input: port_ps_server_1b_port_1_subnetpoolid
+        mac_requirements:
+          get_input: port_ps_server_1b_port_1_mac_requirements
+        exCP_naming:
+          get_input: port_ps_server_1b_port_1_exCP_naming
+        vlan_requirements:
+          get_input: port_ps_server_1b_port_1_vlan_requirements
+        network_role_tag:
+          get_input: port_ps_server_1b_port_1_network_role_tag
+        network: packet_int_network
+        order:
+          get_input: port_ps_server_1b_port_1_order
+      requirements:
+      - link:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_int_network
+          relationship: tosca.relationships.network.LinksTo
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: server_1b_ps_1
+          relationship: tosca.relationships.network.BindsTo
+    packet_ext_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_ext_network_name
+    packet_int_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_int_network_name
+  groups:
+    nested_pattern5_levelTwo_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5_levelTwo.yml
+        description: nested1
+      members:
+      - server_1b_ps_1
+      - test_resourceGroup_1
+      - ps_server_1b_port_1
+      - packet_ext_network
+      - packet_int_network
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.ps_server_1b
+    capabilities:
+      disk.write.bytes.rate_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.write.bytes.rate
+      disk.device.write.bytes_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.write.bytes
+      disk.write.bytes_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.write.bytes
+      disk.device.latency_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.latency
+      disk.device.usage_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.usage
+      disk.read.requests_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.read.requests
+      disk.device.write.requests.rate_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.write.requests.rate
+      scalable_server_1b_ps_1:
+      - server_1b_ps_1
+      - scalable
+      binding_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - binding
+      disk.allocation_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.allocation
+      disk.read.bytes_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.read.bytes
+      feature_server_1b_ps_1:
+      - server_1b_ps_1
+      - feature
+      vcpus_server_1b_ps_1:
+      - server_1b_ps_1
+      - vcpus
+      disk.root.size_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.root.size
+      network.incoming.bytes.rate_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - network.incoming.bytes.rate
+      disk.device.read.requests.rate_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.read.requests.rate
+      disk.read.bytes.rate_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.read.bytes.rate
+      disk.iops_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.iops
+      memory.usage_server_1b_ps_1:
+      - server_1b_ps_1
+      - memory.usage
+      disk.write.requests_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.write.requests
+      feature_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature
+      disk.latency_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.latency
+      network.incoming.packets.rate_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - network.incoming.packets.rate
+      binding_server_1b_ps_1:
+      - server_1b_ps_1
+      - binding
+      link_packet_ext_network:
+      - packet_ext_network
+      - link
+      network.incoming.bytes_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - network.incoming.bytes
+      attachment_packet_int_network:
+      - packet_int_network
+      - attachment
+      cpu.delta_server_1b_ps_1:
+      - server_1b_ps_1
+      - cpu.delta
+      memory.resident_server_1b_ps_1:
+      - server_1b_ps_1
+      - memory.resident
+      cpu_util_server_1b_ps_1:
+      - server_1b_ps_1
+      - cpu_util
+      disk.device.write.bytes.rate_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.write.bytes.rate
+      disk.device.write.requests_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.write.requests
+      disk.ephemeral.size_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.ephemeral.size
+      disk.device.read.requests_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.read.requests
+      end_point_packet_int_network:
+      - packet_int_network
+      - end_point
+      memory_server_1b_ps_1:
+      - server_1b_ps_1
+      - memory
+      attachment_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - attachment
+      network.outgoing.packets.rate_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - network.outgoing.packets.rate
+      disk.capacity_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.capacity
+      instance_server_1b_ps_1:
+      - server_1b_ps_1
+      - instance
+      forwarder_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - forwarder
+      attachment_packet_ext_network:
+      - packet_ext_network
+      - attachment
+      link_packet_int_network:
+      - packet_int_network
+      - link
+      os_server_1b_ps_1:
+      - server_1b_ps_1
+      - os
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature_template_Vlan_vmi_1
+      network.outgoing.bytes_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - network.outgoing.bytes
+      disk.device.capacity_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.capacity
+      end_point_packet_ext_network:
+      - packet_ext_network
+      - end_point
+      disk.usage_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.usage
+      disk.device.iops_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.iops
+      network.incoming.packets_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - network.incoming.packets
+      network.outgoing.bytes.rate_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - network.outgoing.bytes.rate
+      network.outpoing.packets_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - network.outpoing.packets
+      endpoint_server_1b_ps_1:
+      - server_1b_ps_1
+      - endpoint
+      disk.device.read.bytes_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.read.bytes
+      disk.device.allocation_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.allocation
+      cpu_server_1b_ps_1:
+      - server_1b_ps_1
+      - cpu
+      feature_packet_ext_network:
+      - packet_ext_network
+      - feature
+      disk.write.requests.rate_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.write.requests.rate
+      feature_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - feature
+      host_server_1b_ps_1:
+      - server_1b_ps_1
+      - host
+      disk.device.read.bytes.rate_server_1b_ps_1:
+      - server_1b_ps_1
+      - disk.device.read.bytes.rate
+      feature_packet_int_network:
+      - packet_int_network
+      - feature
+    requirements:
+      dependency_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency
+      dependency_ps_server_1b_port_1:
+      - ps_server_1b_port_1
+      - dependency
+      dependency_packet_int_network:
+      - packet_int_network
+      - dependency
+      local_storage_server_1b_ps_1:
+      - server_1b_ps_1
+      - local_storage
+      dependency_packet_ext_network:
+      - packet_ext_network
+      - dependency
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency_template_Vlan_vmi_1
+      dependency_server_1b_ps_1:
+      - server_1b_ps_1
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/nested_vlanServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedDiffComputeScenario/out/nested_vlanServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..ed59356
--- /dev/null
@@ -0,0 +1,111 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_vlan
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    vlan_ids:
+      hidden: false
+      immutable: false
+      type: string
+    parent_interface:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ipv6_address:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ip_address:
+      hidden: false
+      immutable: false
+      type: string
+    lb_st_vlan_type_oam:
+      hidden: false
+      immutable: false
+      type: string
+      description: dummy
+    mac_address:
+      hidden: false
+      immutable: false
+      type: string
+    net1:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_name_prefix:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_instance_index:
+      hidden: false
+      immutable: false
+      type: float
+  node_templates:
+    template_Vlan_vmi_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      properties:
+        virtual_machine_interface_refs:
+        - get_input: parent_interface
+        name:
+          str_replace:
+            template: $NAME$VLAN
+            params:
+              $NAME:
+                get_input: subinterface_name_prefix
+              $VLAN:
+                get_input:
+                - vlan_ids
+                - get_input: subinterface_instance_index
+        virtual_network_refs:
+        - get_input: net1
+        virtual_machine_interface_properties:
+          sub_interface_vlan_tag:
+            get_input: lb_st_vlan_type_oam
+        virtual_machine_interface_allowed_address_pairs:
+          allowed_address_pair:
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ip_address
+              ip_prefix_len: 32
+            mac:
+              get_input: mac_address
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ipv6_address
+              ip_prefix_len: 128
+            mac:
+              get_input: mac_address
+        virtual_machine_interface_mac_addresses:
+          mac_address:
+          - get_input: mac_address
+  groups:
+    nested_vlan_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_vlan.yml
+        description: cmaui server template for vMMSC
+      members:
+      - template_Vlan_vmi_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+    capabilities:
+      feature_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - feature
+    requirements:
+      link_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - link
+      dependency_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - dependency
+      binding_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - binding
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..094b809
--- /dev/null
@@ -0,0 +1,27 @@
+{
+  "name": "Nested test",
+  "description": "HOT template to create nested one level multiple compute",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true"
+    },
+    {
+      "file": "nested_pattern5.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_pattern5_levelTwo.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_vlan.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/main.yml
new file mode 100644 (file)
index 0000000..05f9526
--- /dev/null
@@ -0,0 +1,13 @@
+heat_template_version: 2013-05-23
+
+description: >
+  Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+
+parameters:
+  jsa_name:
+    type: string
+    description: network name of jsa log network
+
+resources:
+  test_nested_level1:
+    type: nested_pattern5.yml
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/nested_pattern5.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/nested_pattern5.yml
new file mode 100644 (file)
index 0000000..51be693
--- /dev/null
@@ -0,0 +1,80 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  sub_inf_net:
+      type: string
+      description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  pd_server_1b_names:
+    type: comma_delimited_list
+    description: PD server names
+  pd_server_1b_image:
+    type: string
+    description: PD Image server
+  pd_server_1b_flavor:
+    type: string
+    description: Flavor for PD server
+  pd_server_1b_ips:
+    type: string
+  pd_server_2b_ips:
+    type: string
+  packet_external_network_name:
+    type: string
+    description: network name
+  packet_internal_network_name:
+    type: string
+    description: network name
+
+resources:
+  packet_internal_network:
+      type: OS::Neutron::Net
+      properties:
+        name:
+          get_param: packet_internal_network_name
+
+  packet_external_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_external_network_name
+
+  pd_server_1b_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: packet_internal_network }
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_pd_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 0]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_0 }
+
+  test_resourceGroup_0:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port_0}
+          net1: { get_resource: packet_external_network}
+
+  test_nested_level2:
+    type: nested_pattern5_levelTwo.yml
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/nested_pattern5_levelTwo.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/nested_pattern5_levelTwo.yml
new file mode 100644 (file)
index 0000000..57e3d22
--- /dev/null
@@ -0,0 +1,104 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  sub_inf_net:
+    type: string
+    description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  ps_server_1b_names:
+    type: comma_delimited_list
+    description: Ps server names
+  ps_server_1b_image:
+    type: string
+    description: Ps Image server
+  ps_server_1b_flavor:
+    type: string
+    description: Flavor for PS server
+  ps_server_1b_ips:
+    type: string
+  ps_server_2b_ips:
+    type: string
+  packet_ext_network_name:
+    type: string
+    description: network name
+  packet_int_network_name:
+    type: string
+    description: network name
+
+resources:
+  packet_int_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_int_network_name
+
+  packet_ext_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_ext_network_name
+
+  ps_server_1b_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_int_network}
+      fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_ps_1:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [ps_server_1b_names, 1]}
+      image: { get_param: ps_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: ps_server_1b_flavor }
+      networks:
+      - port: { get_resource: ps_server_1b_port_1 }
+
+  ps_server_1b_port_2:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_int_network}
+      fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 1]}}]
+      replacement_policy: AUTO
+
+  server_1b_ps_2:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [ps_server_1b_names, 2]}
+      image: { get_param: ps_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: ps_server_1b_flavor }
+      networks:
+        - port: { get_resource: ps_server_1b_port_2 }
+
+  test_resourceGroup_1:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: ps_server_1b_port_1}
+          net1: { get_resource: packet_ext_network}
+
+  test_resourceGroup_2:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: ps_server_1b_port_2}
+          net1: { get_resource: packet_ext_network}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/nested_vlan.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/in/nested_vlan.yml
new file mode 100644 (file)
index 0000000..cc50a66
--- /dev/null
@@ -0,0 +1,68 @@
+heat_template_version: 2018-02-01
+
+description: cmaui server template for vMMSC
+
+parameters:
+  parent_interface:
+    type: string
+  net1:
+    type: string
+  lb_st_vlan_type_oam:
+    description: dummy
+    type: string
+  mac_address:
+    type: string
+  virtual_ip_address:
+    type: string
+  virtual_ipv6_address:
+    type: string
+  vlan_ids:
+    type: string
+  subinterface_name_prefix:
+    type: string
+  subinterface_instance_index:
+    type: number
+resources:
+
+  template_Vlan_vmi_1:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          template: $NAME$VLAN
+          params:
+            $NAME: { get_param: subinterface_name_prefix }
+            $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+      virtual_machine_interface_properties:
+        {
+          virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+        }
+      virtual_machine_interface_mac_addresses:
+        {
+        virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+        }
+      virtual_machine_interface_allowed_address_pairs:
+        {
+        virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+              }
+            },
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+              }
+            }
+          ]
+        }
+      virtual_network_refs: [{ get_param: net1 }]
+      virtual_machine_interface_refs: [{ get_param: parent_interface }]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..4b63486
--- /dev/null
@@ -0,0 +1,3093 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_flavor:
+        type: string
+        description: Flavor for PD server
+        required: true
+        status: SUPPORTED
+      pd_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_external_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      packet_internal_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      pd_server_1b_names:
+        type: list
+        description: PD server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_image:
+        type: string
+        description: PD Image server
+        required: true
+        status: SUPPORTED
+      pd_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_server_1b_pd_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_0:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_external_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_port_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_internal_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_1_test_nested_level2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_2_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_2_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_ext_network_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_int_network_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_2_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_2_test_nested_level2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      disk.device.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_internal_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_2_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_external_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_0:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_external_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port_0:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_internal_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_internal_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_0:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_0:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      host_server_1b_pd_0:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_2_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_external_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_0:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      host_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_internal_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_2_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_0:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_2_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_external_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.pd_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      compute_pd_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_pd_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      cpu_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_pd_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_pd_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_pd_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5_levelTwo:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      ps_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      ps_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_int_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      ps_server_1b_flavor:
+        type: string
+        description: Flavor for PS server
+        required: true
+        status: SUPPORTED
+      ps_server_1b_image:
+        type: string
+        description: Ps Image server
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      ps_server_1b_names:
+        type: list
+        description: Ps server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      packet_ext_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_server_1b_ps_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_1:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_ext_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_int_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      binding_ps_server_1b_port_2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_1:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_int_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_int_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_ext_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_1:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_1:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_int_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_1:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_1:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_ext_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_int_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_1:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_ext_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_1:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_ext_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.ps_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_ps_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_ps_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      port_ps_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_ps_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_ps_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_ps_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_ps_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_ps_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_ps_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_ps_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_ps_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      vlan_ids:
+        type: string
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ipv6_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ip_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      lb_st_vlan_type_oam:
+        type: string
+        description: dummy
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      net1:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_name_prefix:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_instance_index:
+        type: float
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_template_Vlan_vmi_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_template_Vlan_vmi_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9fb0fbf
--- /dev/null
@@ -0,0 +1,40 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    jsa_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: jsa_name
+      type: string
+      description: network name of jsa log network
+  node_templates:
+    test_nested_level1:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_pattern5ServiceTemplate.yaml
+  groups:
+    main_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/main.yml
+        description: |
+          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+      members:
+      - test_nested_level1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/Nested_pd_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/Nested_pd_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9bea96b
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    compute_pd_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_server_1b_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_order:
+      type: integer
+      required: true
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+  node_templates:
+    pd_server_1b_pd_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b_pd_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_1b_name
+          - index_value
+    pd_server_1b_pd_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_pd_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_pd_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd_server_1b_port_mac_requirements
+        order:
+          get_input: port_pd_server_1b_port_order
+        network_role:
+          get_input: port_pd_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_pd_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_pd_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_pd_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server_1b
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
+      host_pd_server_1b:
+      - pd_server_1b
+      - host
+      disk.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes.rate
+      disk.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.allocation
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
+      cpu.delta_pd_server_1b:
+      - pd_server_1b
+      - cpu.delta
+      forwarder_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - forwarder
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
+      disk.device.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests
+      feature_pd_server_1b:
+      - pd_server_1b
+      - feature
+      disk.device.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
+      cpu_pd_server_1b:
+      - pd_server_1b
+      - cpu
+      disk.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes.rate
+      disk.device.read.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests.rate
+      endpoint_pd_server_1b:
+      - pd_server_1b
+      - endpoint
+      disk.device.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.device.allocation
+      memory.usage_pd_server_1b:
+      - pd_server_1b
+      - memory.usage
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
+      memory_pd_server_1b:
+      - pd_server_1b
+      - memory
+      disk.device.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.device.latency
+      disk.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes
+      disk.device.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
+      disk.device.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests
+      disk.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.latency
+      disk.ephemeral.size_pd_server_1b:
+      - pd_server_1b
+      - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
+      scalable_pd_server_1b:
+      - pd_server_1b
+      - scalable
+      disk.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+      disk.device.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes.rate
+      disk.root.size_pd_server_1b:
+      - pd_server_1b
+      - disk.root.size
+      disk.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.iops
+      disk.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes
+      os_pd_server_1b:
+      - pd_server_1b
+      - os
+      vcpus_pd_server_1b:
+      - pd_server_1b
+      - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
+      instance_pd_server_1b:
+      - pd_server_1b
+      - instance
+      binding_pd_server_1b:
+      - pd_server_1b
+      - binding
+      cpu_util_pd_server_1b:
+      - pd_server_1b
+      - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
+      memory.resident_pd_server_1b:
+      - pd_server_1b
+      - memory.resident
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets
+      disk.device.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests.rate
+      disk.device.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.device.capacity
+      disk.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.read.requests
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
+      disk.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.capacity
+      disk.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.usage
+      disk.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests.rate
+    requirements:
+      link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_pd_server_1b:
+      - pd_server_1b
+      - dependency
+      local_storage_pd_server_1b:
+      - pd_server_1b
+      - local_storage
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - link
+      dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency
+      dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/Nested_ps_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/Nested_ps_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..5c43ad9
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_ps_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_ps_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_ps_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_ps_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_ps_server_1b_port_order:
+      type: integer
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    vm_image_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_network_role:
+      type: string
+      required: true
+    port_ps_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+    compute_ps_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_ps_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    ps_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_ps_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_ps_server_1b_name
+          - index_value
+    ps_server_1b_ps_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b_ps_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    ps_server_1b_ps_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_ps_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_ps_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_ps_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_ps_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_ps_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_ps_server_1b_port_mac_requirements
+        order:
+          get_input: port_ps_server_1b_port_order
+        network_role:
+          get_input: port_ps_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_ps_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_ps_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_ps_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.ps_server_1b
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes.rate
+      disk.device.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.device.usage
+      disk.device.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.device.allocation
+      disk.device.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests
+      cpu_util_ps_server_1b:
+      - ps_server_1b
+      - cpu_util
+      scalable_ps_server_1b:
+      - ps_server_1b
+      - scalable
+      disk.device.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.device.latency
+      disk.device.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.device.iops
+      attachment_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - attachment
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.packets.rate
+      disk.device.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.device.capacity
+      forwarder_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - forwarder
+      instance_ps_server_1b:
+      - ps_server_1b
+      - instance
+      cpu_ps_server_1b:
+      - ps_server_1b
+      - cpu
+      disk.device.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes
+      disk.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes.rate
+      disk.device.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests
+      host_ps_server_1b:
+      - ps_server_1b
+      - host
+      disk.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.usage
+      disk.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.read.requests
+      feature_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - feature
+      disk.device.read.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests.rate
+      disk.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.capacity
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes
+      disk.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests.rate
+      disk.device.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes
+      disk.device.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests.rate
+      disk.root.size_ps_server_1b:
+      - ps_server_1b
+      - disk.root.size
+      binding_ps_server_1b:
+      - ps_server_1b
+      - binding
+      memory.resident_ps_server_1b:
+      - ps_server_1b
+      - memory.resident
+      memory_ps_server_1b:
+      - ps_server_1b
+      - memory
+      disk.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes.rate
+      disk.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets.rate
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes.rate
+      feature_ps_server_1b:
+      - ps_server_1b
+      - feature
+      os_ps_server_1b:
+      - ps_server_1b
+      - os
+      disk.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.iops
+      disk.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.allocation
+      disk.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outpoing.packets
+      memory.usage_ps_server_1b:
+      - ps_server_1b
+      - memory.usage
+      disk.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.latency
+      endpoint_ps_server_1b:
+      - ps_server_1b
+      - endpoint
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes.rate
+      feature_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - feature
+      vcpus_ps_server_1b:
+      - ps_server_1b
+      - vcpus
+      cpu.delta_ps_server_1b:
+      - ps_server_1b
+      - cpu.delta
+      disk.ephemeral.size_ps_server_1b:
+      - ps_server_1b
+      - disk.ephemeral.size
+      binding_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - binding
+      feature_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+    requirements:
+      dependency_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      local_storage_ps_server_1b:
+      - ps_server_1b
+      - local_storage
+      dependency_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - dependency
+      dependency_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - dependency
+      link_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - link
+      link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_ps_server_1b:
+      - ps_server_1b
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/nested_pattern5ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/nested_pattern5ServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..8ae882e
--- /dev/null
@@ -0,0 +1,766 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    pd_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PD server
+    pd_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_external_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    packet_internal_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    pd_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: PD server names
+      entry_schema:
+        type: string
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    pd_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: PD Image server
+    pd_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+  node_templates:
+    packet_external_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_external_network_name
+    packet_internal_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_internal_network_name
+    test_nested_level2:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5_levelTwo
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_pattern5_levelTwoServiceTemplate.yaml
+    abstract_pd_server_1b:
+      type: org.openecomp.resource.abstract.nodes.pd_server_1b
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_1b_name:
+        - get_input:
+          - pd_server_1b_names
+          - 0
+        vm_flavor_name:
+          get_input: pd_server_1b_flavor
+        subinterface_nested_vlan_net1:
+        - packet_external_network
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        subinterface_nested_vlan_parent_interface:
+        - pd_server_1b_port_0
+        port_pd_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - pd_server_1b_ips
+            - 0
+        port_pd_server_1b_port_network:
+        - packet_internal_network
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        service_template_filter:
+          substitute_service_template: Nested_pd_server_1bServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_pd_server_1b_pd_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_internal_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_external_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    nested_pattern5_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5.yml
+        description: nested1
+      members:
+      - packet_external_network
+      - packet_internal_network
+      - test_nested_level2
+      - abstract_pd_server_1b
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+    capabilities:
+      disk.device.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes.rate_server_1b_ps_1
+      network.outgoing.packets.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.packets.rate_ps_server_1b_port_2
+      scalable_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - scalable_server_1b_ps_1
+      end_point_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - end_point_packet_ext_network
+      disk.capacity_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.capacity_server_1b_ps_2
+      disk.device.latency_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.latency_server_1b_ps_2
+      disk.device.write.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes_server_1b_ps_2
+      disk.device.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests_pd_server_1b
+      disk.read.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.read.requests_server_1b_ps_2
+      endpoint_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - endpoint_server_1b_ps_2
+      disk.iops_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.iops_server_1b_ps_2
+      disk.device.read.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes_server_1b_ps_1
+      feature_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - feature_packet_ext_network
+      forwarder_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - forwarder_ps_server_1b_port_1
+      forwarder_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_1b_port
+      disk.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.capacity_pd_server_1b
+      network.outpoing.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
+      cpu_util_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - cpu_util_server_1b_ps_2
+      network.incoming.packets_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets_ps_server_1b_port_1
+      feature_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_1b_port
+      memory_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory_server_1b_ps_1
+      link_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - link_packet_int_network
+      os_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - os_server_1b_ps_1
+      network.incoming.bytes_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes_ps_server_1b_port_2
+      disk.root.size_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.root.size_server_1b_ps_1
+      attachment_packet_internal_network:
+      - packet_internal_network
+      - attachment
+      disk.device.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.allocation_pd_server_1b
+      feature_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature
+      feature_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - feature_packet_int_network
+      disk.write.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests_server_1b_ps_1
+      cpu_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_pd_server_1b
+      disk.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests.rate_pd_server_1b
+      network.incoming.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes.rate_ps_server_1b_port_2
+      disk.latency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.latency_server_1b_ps_1
+      disk.device.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes.rate_pd_server_1b
+      feature_test_nested_level2:
+      - test_nested_level2
+      - feature
+      disk.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes.rate_pd_server_1b
+      disk.device.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.usage_server_1b_ps_1
+      disk.device.read.requests.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests.rate_server_1b_ps_2
+      disk.read.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes_server_1b_ps_1
+      disk.read.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes_server_1b_ps_2
+      cpu_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu_server_1b_ps_1
+      disk.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.usage_pd_server_1b
+      disk.ephemeral.size_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.ephemeral.size_server_1b_ps_2
+      end_point_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - end_point_packet_int_network
+      disk.device.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.iops_pd_server_1b
+      disk.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes.rate_server_1b_ps_1
+      scalable_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - scalable_server_1b_ps_2
+      cpu_util_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_util_pd_server_1b
+      disk.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.requests_pd_server_1b
+      disk.device.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes.rate_pd_server_1b
+      vcpus_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - vcpus_server_1b_ps_1
+      disk.device.write.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes_server_1b_ps_1
+      feature_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - feature_server_1b_ps_2
+      disk.iops_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.iops_server_1b_ps_1
+      disk.device.read.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes_server_1b_ps_2
+      feature_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b
+      disk.device.write.requests.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests.rate_server_1b_ps_2
+      disk.device.write.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests_server_1b_ps_2
+      disk.capacity_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.capacity_server_1b_ps_1
+      feature_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - feature_ps_server_1b_port_2
+      disk.allocation_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.allocation_server_1b_ps_1
+      network.outgoing.bytes_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes_ps_server_1b_port_2
+      endpoint_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - endpoint_server_1b_ps_1
+      disk.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.usage_server_1b_ps_1
+      disk.device.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes_pd_server_1b
+      disk.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.iops_pd_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature_template_Vlan_vmi_1
+      end_point_packet_external_network:
+      - packet_external_network
+      - end_point
+      forwarder_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - forwarder_ps_server_1b_port_2
+      disk.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes_pd_server_1b
+      cpu.delta_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - cpu.delta_server_1b_ps_2
+      instance_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - instance_server_1b_ps_2
+      disk.device.capacity_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.capacity_server_1b_ps_2
+      binding_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b
+      disk.device.read.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests_server_1b_ps_2
+      disk.device.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests.rate_pd_server_1b
+      disk.device.iops_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.iops_server_1b_ps_2
+      feature_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+      - test_nested_level2
+      - feature_template_Vlan_vmi_1_test_resourceGroup_2
+      feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - feature_template_Vlan_vmi_1_test_resourceGroup_1
+      network.outgoing.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
+      disk.read.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.requests_server_1b_ps_1
+      memory.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory.usage_server_1b_ps_1
+      link_packet_external_network:
+      - packet_external_network
+      - link
+      memory.usage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - memory.usage_server_1b_ps_2
+      disk.device.iops_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.iops_server_1b_ps_1
+      memory.resident_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.resident_pd_server_1b
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
+      disk.device.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes_pd_server_1b
+      feature_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - feature_server_1b_ps_1
+      vcpus_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - vcpus_server_1b_ps_2
+      attachment_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_1b_port
+      attachment_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - attachment_packet_ext_network
+      disk.device.write.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests.rate_server_1b_ps_1
+      host_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - host_server_1b_ps_1
+      disk.ephemeral.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.ephemeral.size_pd_server_1b
+      network.outgoing.bytes_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes_ps_server_1b_port_1
+      disk.write.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes_server_1b_ps_1
+      end_point_packet_internal_network:
+      - packet_internal_network
+      - end_point
+      attachment_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - attachment_ps_server_1b_port_1
+      feature_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - feature_ps_server_1b_port_1
+      feature_packet_internal_network:
+      - packet_internal_network
+      - feature
+      cpu.delta_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu.delta_server_1b_ps_1
+      disk.device.write.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests_server_1b_ps_1
+      disk.device.capacity_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.capacity_server_1b_ps_1
+      disk.usage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.usage_server_1b_ps_2
+      instance_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - instance_pd_server_1b
+      disk.device.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.capacity_pd_server_1b
+      disk.root.size_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.root.size_server_1b_ps_2
+      disk.device.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes.rate_server_1b_ps_1
+      instance_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - instance_server_1b_ps_1
+      network.outgoing.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes.rate_ps_server_1b_port_1
+      network.incoming.packets.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets.rate_ps_server_1b_port_1
+      disk.device.read.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests_server_1b_ps_1
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.packets_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets_ps_server_1b_port_2
+      os_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - os_pd_server_1b
+      network.incoming.bytes_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes_ps_server_1b_port_1
+      endpoint_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - endpoint_pd_server_1b
+      disk.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes_pd_server_1b
+      cpu_util_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu_util_server_1b_ps_1
+      disk.write.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests_server_1b_ps_2
+      disk.latency_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.latency_server_1b_ps_2
+      binding_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - binding_server_1b_ps_1
+      disk.device.usage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.usage_server_1b_ps_2
+      network.incoming.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes.rate_ps_server_1b_port_1
+      binding_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - binding_ps_server_1b_port_1
+      host_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - host_pd_server_1b
+      attachment_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - attachment_packet_int_network
+      network.incoming.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
+      disk.root.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.root.size_pd_server_1b
+      binding_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - binding_ps_server_1b_port_2
+      disk.ephemeral.size_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.ephemeral.size_server_1b_ps_1
+      disk.allocation_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.allocation_server_1b_ps_2
+      memory_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory_pd_server_1b
+      disk.device.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.latency_pd_server_1b
+      binding_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - binding_server_1b_ps_2
+      disk.device.read.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests.rate_server_1b_ps_1
+      disk.device.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.usage_pd_server_1b
+      cpu_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - cpu_server_1b_ps_2
+      feature_packet_external_network:
+      - packet_external_network
+      - feature
+      memory.resident_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - memory.resident_server_1b_ps_2
+      memory.resident_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory.resident_server_1b_ps_1
+      disk.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes.rate_server_1b_ps_2
+      disk.device.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes.rate_server_1b_ps_2
+      network.outgoing.packets.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.packets.rate_ps_server_1b_port_1
+      disk.device.latency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.latency_server_1b_ps_1
+      disk.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.allocation_pd_server_1b
+      link_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - link_packet_ext_network
+      disk.write.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes_server_1b_ps_2
+      binding_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_1b_port
+      host_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - host_server_1b_ps_2
+      disk.device.read.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests.rate_pd_server_1b
+      link_packet_internal_network:
+      - packet_internal_network
+      - link
+      network.incoming.packets.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets.rate_ps_server_1b_port_2
+      disk.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests_pd_server_1b
+      attachment_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - attachment_ps_server_1b_port_2
+      disk.device.allocation_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.allocation_server_1b_ps_1
+      disk.device.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes.rate_server_1b_ps_2
+      scalable_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - scalable_pd_server_1b
+      memory_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - memory_server_1b_ps_2
+      network.outgoing.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes.rate_ps_server_1b_port_2
+      os_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - os_server_1b_ps_2
+      cpu.delta_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu.delta_pd_server_1b
+      disk.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes.rate_server_1b_ps_1
+      feature_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - feature_test_resourceGroup_1
+      feature_test_resourceGroup_2_test_nested_level2:
+      - test_nested_level2
+      - feature_test_resourceGroup_2
+      disk.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes.rate_server_1b_ps_2
+      disk.device.allocation_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.allocation_server_1b_ps_2
+      vcpus_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - vcpus_pd_server_1b
+      disk.device.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests_pd_server_1b
+      network.incoming.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
+      disk.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes.rate_pd_server_1b
+      memory.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.usage_pd_server_1b
+      attachment_packet_external_network:
+      - packet_external_network
+      - attachment
+      network.outpoing.packets_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outpoing.packets_ps_server_1b_port_1
+      disk.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.latency_pd_server_1b
+      network.outpoing.packets_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outpoing.packets_ps_server_1b_port_2
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
+      disk.write.requests.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests.rate_server_1b_ps_2
+      disk.write.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests.rate_server_1b_ps_1
+    requirements:
+      dependency_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - dependency_server_1b_ps_2
+      dependency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_server_1b_ps_1
+      dependency_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_ps_server_1b_port_1
+      dependency_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_1b_port
+      dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency_template_Vlan_vmi_1
+      dependency_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - dependency_ps_server_1b_port_2
+      dependency_test_resourceGroup_2_test_nested_level2:
+      - test_nested_level2
+      - dependency_test_resourceGroup_2
+      dependency_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+      - test_nested_level2
+      - dependency_template_Vlan_vmi_1_test_resourceGroup_2
+      dependency_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency
+      dependency_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_test_resourceGroup_1
+      local_storage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - local_storage_pd_server_1b
+      local_storage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - local_storage_server_1b_ps_1
+      dependency_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - dependency_packet_int_network
+      local_storage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - local_storage_server_1b_ps_2
+      dependency_packet_internal_network:
+      - packet_internal_network
+      - dependency
+      dependency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_template_Vlan_vmi_1_test_resourceGroup_1
+      dependency_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - dependency_packet_ext_network
+      dependency_test_nested_level2:
+      - test_nested_level2
+      - dependency
+      dependency_packet_external_network:
+      - packet_external_network
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..91bd0bc
--- /dev/null
@@ -0,0 +1,564 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5_levelTwo
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    ps_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    ps_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_int_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    ps_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PS server
+    ps_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: Ps Image server
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    ps_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: Ps server names
+      entry_schema:
+        type: string
+    packet_ext_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+  node_templates:
+    packet_ext_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_ext_network_name
+    packet_int_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_int_network_name
+    abstract_ps_server_1b:
+      type: org.openecomp.resource.abstract.nodes.ps_server_1b
+      directives:
+      - substitutable
+      properties:
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_ps_server_1b_port_fixed_ips:
+        - - ip_address:
+              get_input:
+              - ps_server_1b_ips
+              - 0
+        - - ip_address:
+              get_input:
+              - ps_server_1b_ips
+              - 1
+        vm_flavor_name:
+          get_input: ps_server_1b_flavor
+        port_ps_server_1b_port_network:
+        - packet_int_network
+        - packet_int_network
+        subinterface_nested_vlan_net1:
+        - packet_ext_network
+        - packet_ext_network
+        port_ps_server_1b_port_ip_requirements:
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        vm_image_name:
+          get_input: ps_server_1b_image
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
+        - AUTO
+        subinterface_nested_vlan_parent_interface:
+        - ps_server_1b_port_1
+        - ps_server_1b_port_2
+        compute_ps_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        - get_input: availability_zone_0
+        compute_ps_server_1b_name:
+        - get_input:
+          - ps_server_1b_names
+          - 1
+        - get_input:
+          - ps_server_1b_names
+          - 2
+        service_template_filter:
+          substitute_service_template: Nested_ps_server_1bServiceTemplate.yaml
+          count: 2
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_ps_server_1b_ps_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_int_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_ext_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    nested_pattern5_levelTwo_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5_levelTwo.yml
+        description: nested1
+      members:
+      - packet_ext_network
+      - packet_int_network
+      - abstract_ps_server_1b
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5_levelTwo
+    capabilities:
+      binding_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b_ps_server_1b_port
+      disk.device.latency_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.latency_ps_server_1b
+      disk.device.usage_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.usage_ps_server_1b
+      disk.device.usage_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.usage_ps_server_1b
+      disk.read.requests_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.read.requests_ps_server_1b
+      disk.device.write.requests.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.write.requests.rate_ps_server_1b
+      disk.read.requests_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.read.requests_ps_server_1b
+      disk.device.write.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.write.requests.rate_ps_server_1b
+      binding_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b_ps_server_1b_port
+      disk.read.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.read.bytes_ps_server_1b
+      disk.read.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.read.bytes_ps_server_1b
+      disk.device.latency_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.latency_ps_server_1b
+      disk.root.size_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.root.size_ps_server_1b
+      network.incoming.bytes.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.root.size_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.root.size_ps_server_1b
+      network.incoming.bytes.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.device.read.requests.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.read.requests.rate_ps_server_1b
+      disk.device.read.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.read.requests.rate_ps_server_1b
+      feature_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature
+      network.incoming.bytes_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
+      network.incoming.bytes_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
+      attachment_packet_int_network:
+      - packet_int_network
+      - attachment
+      cpu.delta_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - cpu.delta_ps_server_1b
+      memory.resident_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - memory.resident_ps_server_1b
+      cpu.delta_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - cpu.delta_ps_server_1b
+      memory.resident_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - memory.resident_ps_server_1b
+      cpu_util_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - cpu_util_ps_server_1b
+      disk.device.write.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes.rate_ps_server_1b
+      disk.device.write.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes.rate_ps_server_1b
+      cpu_util_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - cpu_util_ps_server_1b
+      disk.ephemeral.size_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.ephemeral.size_ps_server_1b
+      disk.ephemeral.size_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.ephemeral.size_ps_server_1b
+      disk.capacity_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.capacity_ps_server_1b
+      memory_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - memory_ps_server_1b
+      network.outgoing.packets.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
+      disk.capacity_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.capacity_ps_server_1b
+      memory_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - memory_ps_server_1b
+      instance_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - instance_ps_server_1b
+      forwarder_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - forwarder_ps_server_1b_ps_server_1b_port
+      forwarder_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - forwarder_ps_server_1b_ps_server_1b_port
+      network.outgoing.packets.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
+      link_packet_int_network:
+      - packet_int_network
+      - link
+      instance_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - instance_ps_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature_template_Vlan_vmi_1
+      feature_template_Vlan_vmi_1_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - feature_template_Vlan_vmi_1
+      disk.device.capacity_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.capacity_ps_server_1b
+      end_point_packet_ext_network:
+      - packet_ext_network
+      - end_point
+      disk.device.capacity_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.capacity_ps_server_1b
+      network.incoming.packets_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
+      disk.device.iops_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.iops_ps_server_1b
+      disk.device.iops_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.iops_ps_server_1b
+      network.incoming.packets_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
+      network.outgoing.bytes.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
+      network.outpoing.packets_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
+      network.outpoing.packets_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
+      endpoint_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - endpoint_ps_server_1b
+      disk.device.allocation_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.allocation_ps_server_1b
+      endpoint_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - endpoint_ps_server_1b
+      disk.write.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.write.requests.rate_ps_server_1b
+      disk.write.requests.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.write.requests.rate_ps_server_1b
+      host_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - host_ps_server_1b
+      host_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - host_ps_server_1b
+      feature_packet_int_network:
+      - packet_int_network
+      - feature
+      network.outgoing.bytes.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.write.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.write.bytes.rate_ps_server_1b
+      disk.write.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.write.bytes_ps_server_1b
+      disk.device.write.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes_ps_server_1b
+      disk.device.write.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes_ps_server_1b
+      disk.write.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.write.bytes_ps_server_1b
+      disk.write.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.write.bytes.rate_ps_server_1b
+      disk.device.allocation_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.allocation_ps_server_1b
+      scalable_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - scalable_ps_server_1b
+      scalable_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - scalable_ps_server_1b
+      disk.allocation_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.allocation_ps_server_1b
+      disk.allocation_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.allocation_ps_server_1b
+      feature_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b
+      feature_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b
+      vcpus_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - vcpus_ps_server_1b
+      vcpus_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - vcpus_ps_server_1b
+      disk.read.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.read.bytes.rate_ps_server_1b
+      disk.read.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.read.bytes.rate_ps_server_1b
+      disk.iops_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.iops_ps_server_1b
+      memory.usage_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - memory.usage_ps_server_1b
+      memory.usage_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - memory.usage_ps_server_1b
+      disk.iops_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.iops_ps_server_1b
+      disk.write.requests_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.write.requests_ps_server_1b
+      disk.write.requests_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.write.requests_ps_server_1b
+      network.incoming.packets.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
+      disk.latency_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.latency_ps_server_1b
+      disk.latency_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.latency_ps_server_1b
+      network.incoming.packets.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
+      binding_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b
+      link_packet_ext_network:
+      - packet_ext_network
+      - link
+      binding_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b
+      disk.device.write.requests_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.write.requests_ps_server_1b
+      disk.device.read.requests_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.read.requests_ps_server_1b
+      disk.device.write.requests_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.write.requests_ps_server_1b
+      disk.device.read.requests_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.read.requests_ps_server_1b
+      end_point_packet_int_network:
+      - packet_int_network
+      - end_point
+      attachment_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - attachment_ps_server_1b_ps_server_1b_port
+      attachment_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - attachment_ps_server_1b_ps_server_1b_port
+      attachment_packet_ext_network:
+      - packet_ext_network
+      - attachment
+      os_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - os_ps_server_1b
+      os_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - os_ps_server_1b
+      feature_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - feature
+      network.outgoing.bytes_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
+      network.outgoing.bytes_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
+      disk.usage_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.usage_ps_server_1b
+      disk.usage_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.usage_ps_server_1b
+      disk.device.read.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes_ps_server_1b
+      disk.device.read.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes_ps_server_1b
+      cpu_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - cpu_ps_server_1b
+      cpu_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - cpu_ps_server_1b
+      feature_packet_ext_network:
+      - packet_ext_network
+      - feature
+      feature_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b_ps_server_1b_port
+      feature_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b_ps_server_1b_port
+      disk.device.read.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes.rate_ps_server_1b
+      disk.device.read.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes.rate_ps_server_1b
+    requirements:
+      dependency_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency
+      dependency_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b_ps_server_1b_port
+      dependency_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - dependency
+      dependency_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b_ps_server_1b_port
+      dependency_packet_int_network:
+      - packet_int_network
+      - dependency
+      local_storage_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - local_storage_ps_server_1b
+      dependency_packet_ext_network:
+      - packet_ext_network
+      - dependency
+      dependency_template_Vlan_vmi_1_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - dependency_template_Vlan_vmi_1
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency_template_Vlan_vmi_1
+      local_storage_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - local_storage_ps_server_1b
+      dependency_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b
+      dependency_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/nested_vlanServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedMultiComputeScenario/out/nested_vlanServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..ed59356
--- /dev/null
@@ -0,0 +1,111 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_vlan
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    vlan_ids:
+      hidden: false
+      immutable: false
+      type: string
+    parent_interface:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ipv6_address:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ip_address:
+      hidden: false
+      immutable: false
+      type: string
+    lb_st_vlan_type_oam:
+      hidden: false
+      immutable: false
+      type: string
+      description: dummy
+    mac_address:
+      hidden: false
+      immutable: false
+      type: string
+    net1:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_name_prefix:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_instance_index:
+      hidden: false
+      immutable: false
+      type: float
+  node_templates:
+    template_Vlan_vmi_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      properties:
+        virtual_machine_interface_refs:
+        - get_input: parent_interface
+        name:
+          str_replace:
+            template: $NAME$VLAN
+            params:
+              $NAME:
+                get_input: subinterface_name_prefix
+              $VLAN:
+                get_input:
+                - vlan_ids
+                - get_input: subinterface_instance_index
+        virtual_network_refs:
+        - get_input: net1
+        virtual_machine_interface_properties:
+          sub_interface_vlan_tag:
+            get_input: lb_st_vlan_type_oam
+        virtual_machine_interface_allowed_address_pairs:
+          allowed_address_pair:
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ip_address
+              ip_prefix_len: 32
+            mac:
+              get_input: mac_address
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ipv6_address
+              ip_prefix_len: 128
+            mac:
+              get_input: mac_address
+        virtual_machine_interface_mac_addresses:
+          mac_address:
+          - get_input: mac_address
+  groups:
+    nested_vlan_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_vlan.yml
+        description: cmaui server template for vMMSC
+      members:
+      - template_Vlan_vmi_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+    capabilities:
+      feature_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - feature
+    requirements:
+      link_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - link
+      dependency_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - dependency
+      binding_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - binding
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..094b809
--- /dev/null
@@ -0,0 +1,27 @@
+{
+  "name": "Nested test",
+  "description": "HOT template to create nested one level multiple compute",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true"
+    },
+    {
+      "file": "nested_pattern5.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_pattern5_levelTwo.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_vlan.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/main.yml
new file mode 100644 (file)
index 0000000..1b9f1c2
--- /dev/null
@@ -0,0 +1,33 @@
+heat_template_version: 2013-05-23
+
+description: >
+  Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+
+parameters:
+  jsa_name:
+    type: string
+    description: network name of jsa log network
+  packet_external_network_name:
+    type: string
+    description: network name
+  packet_internal_network_name:
+    type: string
+
+resources:
+  packet_internal_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_internal_network_name
+
+  packet_external_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_external_network_name
+
+  test_nested_level1:
+    type: nested_pattern5.yml
+    properties:
+      port_net: {get_resource: packet_internal_network}
+      sub_inf_net: { get_resource: packet_external_network}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/nested_pattern5.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/nested_pattern5.yml
new file mode 100644 (file)
index 0000000..18b9623
--- /dev/null
@@ -0,0 +1,78 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  sub_inf_net:
+      type: string
+      description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  pd_server_1b_names:
+    type: comma_delimited_list
+    description: PD server names
+  pd_server_1b_image:
+    type: string
+    description: PD Image server
+  ps_server_1b_names:
+    type: comma_delimited_list
+    description: Ps server names
+  ps_server_1b_image:
+    type: string
+    description: Ps Image server
+  pd_server_1b_flavor:
+    type: string
+    description: Flavor for PD server
+  ps_server_1b_flavor:
+    type: string
+    description: Flavor for PS server
+  pd_server_1b_ips:
+    type: string
+  ps_server_1b_ips:
+    type: string
+  pd_server_2b_ips:
+    type: string
+  ps_server_2b_ips:
+    type: string
+
+resources:
+  pd_server_1b_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: port_net}
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_pd_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 0]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_0 }
+
+  test_resourceGroup_0:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port_0}
+          net1: { get_param: sub_inf_net}
+
+  test_nested_level2:
+    type: nested_pattern5_levelTwo.yml
+    properties:
+      port_net: {get_param: port_net}
+      sub_inf_net: { get_param: sub_inf_net}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/nested_pattern5_levelTwo.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/nested_pattern5_levelTwo.yml
new file mode 100644 (file)
index 0000000..e66b5d0
--- /dev/null
@@ -0,0 +1,72 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  sub_inf_net:
+    type: string
+    description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  pd_server_1b_names:
+    type: comma_delimited_list
+    description: PD server names
+  pd_server_1b_image:
+    type: string
+    description: PD Image server
+  ps_server_1b_names:
+    type: comma_delimited_list
+    description: Ps server names
+  ps_server_1b_image:
+    type: string
+    description: Ps Image server
+  pd_server_1b_flavor:
+    type: string
+    description: Flavor for PD server
+  ps_server_1b_flavor:
+    type: string
+    description: Flavor for PS server
+  pd_server_1b_ips:
+    type: string
+  ps_server_1b_ips:
+    type: string
+  pd_server_2b_ips:
+    type: string
+  ps_server_2b_ips:
+    type: string
+
+resources:
+  pd_server_1b_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: port_net}
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_pd_1:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 1]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_1 }
+
+  test_resourceGroup_1:
+      type: OS::Heat::ResourceGroup
+      properties:
+        count: 9
+        resource_def:
+          type: nested_vlan.yml
+          properties:
+            parent_interface: { get_resource: pd_server_1b_port_1}
+            net1: { get_param: sub_inf_net}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/nested_vlan.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/in/nested_vlan.yml
new file mode 100644 (file)
index 0000000..cc50a66
--- /dev/null
@@ -0,0 +1,68 @@
+heat_template_version: 2018-02-01
+
+description: cmaui server template for vMMSC
+
+parameters:
+  parent_interface:
+    type: string
+  net1:
+    type: string
+  lb_st_vlan_type_oam:
+    description: dummy
+    type: string
+  mac_address:
+    type: string
+  virtual_ip_address:
+    type: string
+  virtual_ipv6_address:
+    type: string
+  vlan_ids:
+    type: string
+  subinterface_name_prefix:
+    type: string
+  subinterface_instance_index:
+    type: number
+resources:
+
+  template_Vlan_vmi_1:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          template: $NAME$VLAN
+          params:
+            $NAME: { get_param: subinterface_name_prefix }
+            $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+      virtual_machine_interface_properties:
+        {
+          virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+        }
+      virtual_machine_interface_mac_addresses:
+        {
+        virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+        }
+      virtual_machine_interface_allowed_address_pairs:
+        {
+        virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+              }
+            },
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+              }
+            }
+          ]
+        }
+      virtual_network_refs: [{ get_param: net1 }]
+      virtual_machine_interface_refs: [{ get_param: parent_interface }]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9d200a9
--- /dev/null
@@ -0,0 +1,1851 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      ps_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_names:
+        type: list
+        description: PD server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      ps_server_1b_names:
+        type: list
+        description: Ps server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      ps_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_flavor:
+        type: string
+        description: Flavor for PD server
+        required: true
+        status: SUPPORTED
+      pd_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      ps_server_1b_flavor:
+        type: string
+        description: Flavor for PS server
+        required: true
+        status: SUPPORTED
+      ps_server_1b_image:
+        type: string
+        description: Ps Image server
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_image:
+        type: string
+        description: PD Image server
+        required: true
+        status: SUPPORTED
+      pd_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_server_1b_pd_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_0:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_port_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_port_0:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_test_resourceGroup_0:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b_port_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_port_1_test_nested_level2:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_server_1b_pd_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_1_test_nested_level2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      feature_server_1b_pd_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_pd_1_test_nested_level2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      feature_pd_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_1_test_nested_level2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_0:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port_0:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_0:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_0:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_pd_0:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_1_test_nested_level2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_0:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_0:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_1_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_1_test_nested_level2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.pd_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      compute_pd_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_pd_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      cpu_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_pd_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_pd_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_pd_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_pd_server_1b_port_1_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_1_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_server_1b_port_1_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_1_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      ps_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_names:
+        type: list
+        description: PD server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_1_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      ps_server_1b_names:
+        type: list
+        description: Ps server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      ps_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_flavor:
+        type: string
+        description: Flavor for PD server
+        required: true
+        status: SUPPORTED
+      pd_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_1_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      ps_server_1b_flavor:
+        type: string
+        description: Flavor for PS server
+        required: true
+        status: SUPPORTED
+      ps_server_1b_image:
+        type: string
+        description: Ps Image server
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_image:
+        type: string
+        description: PD Image server
+        required: true
+        status: SUPPORTED
+      pd_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_1_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_1_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_test_resourceGroup_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b_port_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_port_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_server_1b_pd_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_1:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      attachment_pd_server_1b_port_1:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_1:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_1:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_pd_1:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_1:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_1:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_1:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      vlan_ids:
+        type: string
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ipv6_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ip_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      lb_st_vlan_type_oam:
+        type: string
+        description: dummy
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      net1:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_name_prefix:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_instance_index:
+        type: float
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_template_Vlan_vmi_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_template_Vlan_vmi_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..1c675f2
--- /dev/null
@@ -0,0 +1,96 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    packet_external_network_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: packet_external_network_name
+      type: string
+      description: network name
+    packet_internal_network_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: packet_internal_network_name
+      type: string
+    jsa_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: jsa_name
+      type: string
+      description: network name of jsa log network
+  node_templates:
+    packet_external_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_external_network_name
+    packet_internal_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_internal_network_name
+    test_nested_level1:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+      directives:
+      - substitutable
+      properties:
+        port_net: packet_internal_network
+        service_template_filter:
+          substitute_service_template: nested_pattern5ServiceTemplate.yaml
+        sub_inf_net: packet_external_network
+      requirements:
+      - link_pd_server_1b_port_0:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_internal_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_pd_server_1b_port_1_test_nested_level2:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_internal_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_test_resourceGroup_0:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_external_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_external_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    main_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/main.yml
+        description: |
+          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+      members:
+      - packet_external_network
+      - packet_internal_network
+      - test_nested_level1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/Nested_pd_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/Nested_pd_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9bea96b
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    compute_pd_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_server_1b_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_order:
+      type: integer
+      required: true
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+  node_templates:
+    pd_server_1b_pd_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b_pd_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_1b_name
+          - index_value
+    pd_server_1b_pd_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_pd_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_pd_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd_server_1b_port_mac_requirements
+        order:
+          get_input: port_pd_server_1b_port_order
+        network_role:
+          get_input: port_pd_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_pd_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_pd_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_pd_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server_1b
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
+      host_pd_server_1b:
+      - pd_server_1b
+      - host
+      disk.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes.rate
+      disk.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.allocation
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
+      cpu.delta_pd_server_1b:
+      - pd_server_1b
+      - cpu.delta
+      forwarder_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - forwarder
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
+      disk.device.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests
+      feature_pd_server_1b:
+      - pd_server_1b
+      - feature
+      disk.device.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
+      cpu_pd_server_1b:
+      - pd_server_1b
+      - cpu
+      disk.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes.rate
+      disk.device.read.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests.rate
+      endpoint_pd_server_1b:
+      - pd_server_1b
+      - endpoint
+      disk.device.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.device.allocation
+      memory.usage_pd_server_1b:
+      - pd_server_1b
+      - memory.usage
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
+      memory_pd_server_1b:
+      - pd_server_1b
+      - memory
+      disk.device.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.device.latency
+      disk.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes
+      disk.device.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
+      disk.device.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests
+      disk.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.latency
+      disk.ephemeral.size_pd_server_1b:
+      - pd_server_1b
+      - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
+      scalable_pd_server_1b:
+      - pd_server_1b
+      - scalable
+      disk.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+      disk.device.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes.rate
+      disk.root.size_pd_server_1b:
+      - pd_server_1b
+      - disk.root.size
+      disk.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.iops
+      disk.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes
+      os_pd_server_1b:
+      - pd_server_1b
+      - os
+      vcpus_pd_server_1b:
+      - pd_server_1b
+      - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
+      instance_pd_server_1b:
+      - pd_server_1b
+      - instance
+      binding_pd_server_1b:
+      - pd_server_1b
+      - binding
+      cpu_util_pd_server_1b:
+      - pd_server_1b
+      - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
+      memory.resident_pd_server_1b:
+      - pd_server_1b
+      - memory.resident
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets
+      disk.device.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests.rate
+      disk.device.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.device.capacity
+      disk.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.read.requests
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
+      disk.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.capacity
+      disk.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.usage
+      disk.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests.rate
+    requirements:
+      link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_pd_server_1b:
+      - pd_server_1b
+      - dependency
+      local_storage_pd_server_1b:
+      - pd_server_1b
+      - local_storage
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - link
+      dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency
+      dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/nested_pattern5ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/nested_pattern5ServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..6b47866
--- /dev/null
@@ -0,0 +1,550 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    ps_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: PD server names
+      entry_schema:
+        type: string
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    ps_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: Ps server names
+      entry_schema:
+        type: string
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    ps_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PD server
+    pd_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    ps_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PS server
+    ps_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: Ps Image server
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    pd_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: PD Image server
+    pd_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+  node_templates:
+    test_nested_level2:
+      type: org.openecomp.resource.abstract.nodes.heat.pd_server_1b
+      directives:
+      - substitutable
+      properties:
+        port_net:
+          get_input: port_net
+        service_template_filter:
+          substitute_service_template: nested_pattern5_levelTwoServiceTemplate.yaml
+        port_pd_server_1b_port_1_mac_requirements:
+          mac_count_required:
+            is_required: false
+        sub_inf_net:
+          get_input: sub_inf_net
+        port_pd_server_1b_port_1_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+    abstract_pd_server_1b:
+      type: org.openecomp.resource.abstract.nodes.pd_server_1b
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_1b_name:
+        - get_input:
+          - pd_server_1b_names
+          - 0
+        vm_flavor_name:
+          get_input: pd_server_1b_flavor
+        subinterface_nested_vlan_net1:
+        - get_input: sub_inf_net
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        subinterface_nested_vlan_parent_interface:
+        - pd_server_1b_port_0
+        port_pd_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - pd_server_1b_ips
+            - 0
+        port_pd_server_1b_port_network:
+        - get_input: port_net
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        service_template_filter:
+          substitute_service_template: Nested_pd_server_1bServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+  groups:
+    nested_pattern5_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5.yml
+        description: nested1
+      members:
+      - test_nested_level2
+      - abstract_pd_server_1b
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+    capabilities:
+      feature_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - feature_server_1b_pd_1
+      disk.device.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests_pd_server_1b
+      disk.device.write.requests.rate_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests.rate_server_1b_pd_1
+      disk.write.bytes_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes_server_1b_pd_1
+      forwarder_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_1b_port
+      network.outpoing.packets_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outpoing.packets_pd_server_1b_port_1
+      host_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - host_server_1b_pd_1
+      disk.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.capacity_pd_server_1b
+      network.outpoing.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
+      disk.device.read.requests.rate_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests.rate_server_1b_pd_1
+      feature_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_1b_port
+      cpu_util_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - cpu_util_server_1b_pd_1
+      disk.device.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.allocation_pd_server_1b
+      feature_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature
+      disk.write.requests.rate_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests.rate_server_1b_pd_1
+      cpu_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_pd_server_1b
+      disk.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests.rate_pd_server_1b
+      binding_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - binding_pd_server_1b_port_1
+      feature_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - feature_pd_server_1b_port_1
+      disk.read.bytes.rate_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes.rate_server_1b_pd_1
+      disk.device.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes.rate_pd_server_1b
+      disk.device.allocation_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.allocation_server_1b_pd_1
+      feature_test_nested_level2:
+      - test_nested_level2
+      - feature
+      disk.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes.rate_pd_server_1b
+      instance_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - instance_server_1b_pd_1
+      disk.device.capacity_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.capacity_server_1b_pd_1
+      disk.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.usage_pd_server_1b
+      disk.device.write.bytes_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes_server_1b_pd_1
+      network.incoming.packets_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets_pd_server_1b_port_1
+      network.incoming.packets.rate_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets.rate_pd_server_1b_port_1
+      disk.device.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.iops_pd_server_1b
+      cpu_util_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_util_pd_server_1b
+      disk.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.requests_pd_server_1b
+      endpoint_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - endpoint_server_1b_pd_1
+      disk.device.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes.rate_pd_server_1b
+      feature_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b
+      attachment_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - attachment_pd_server_1b_port_1
+      disk.allocation_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.allocation_server_1b_pd_1
+      disk.device.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes_pd_server_1b
+      memory.usage_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - memory.usage_server_1b_pd_1
+      disk.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.iops_pd_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature_template_Vlan_vmi_1
+      disk.read.requests_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.requests_server_1b_pd_1
+      disk.ephemeral.size_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.ephemeral.size_server_1b_pd_1
+      disk.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes_pd_server_1b
+      disk.device.iops_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.iops_server_1b_pd_1
+      binding_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b
+      vcpus_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - vcpus_server_1b_pd_1
+      disk.device.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests.rate_pd_server_1b
+      cpu_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - cpu_server_1b_pd_1
+      feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - feature_template_Vlan_vmi_1_test_resourceGroup_1
+      disk.usage_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.usage_server_1b_pd_1
+      network.outgoing.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
+      disk.device.write.requests_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests_server_1b_pd_1
+      cpu.delta_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - cpu.delta_server_1b_pd_1
+      network.outgoing.bytes.rate_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes.rate_pd_server_1b_port_1
+      disk.iops_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.iops_server_1b_pd_1
+      disk.device.read.requests_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests_server_1b_pd_1
+      memory.resident_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.resident_pd_server_1b
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
+      disk.device.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes_pd_server_1b
+      attachment_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_1b_port
+      disk.device.write.bytes.rate_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes.rate_server_1b_pd_1
+      disk.ephemeral.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.ephemeral.size_pd_server_1b
+      disk.device.usage_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.usage_server_1b_pd_1
+      instance_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - instance_pd_server_1b
+      disk.device.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.capacity_pd_server_1b
+      network.outgoing.packets.rate_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.packets.rate_pd_server_1b_port_1
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
+      os_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - os_pd_server_1b
+      endpoint_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - endpoint_pd_server_1b
+      disk.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes_pd_server_1b
+      disk.root.size_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.root.size_server_1b_pd_1
+      forwarder_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - forwarder_pd_server_1b_port_1
+      host_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - host_pd_server_1b
+      network.incoming.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
+      disk.root.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.root.size_pd_server_1b
+      disk.device.read.bytes_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes_server_1b_pd_1
+      memory_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory_pd_server_1b
+      memory_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - memory_server_1b_pd_1
+      disk.device.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.latency_pd_server_1b
+      disk.device.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.usage_pd_server_1b
+      scalable_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - scalable_server_1b_pd_1
+      network.incoming.bytes_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes_pd_server_1b_port_1
+      disk.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.allocation_pd_server_1b
+      memory.resident_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - memory.resident_server_1b_pd_1
+      binding_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_1b_port
+      disk.capacity_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.capacity_server_1b_pd_1
+      disk.device.latency_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.latency_server_1b_pd_1
+      disk.write.bytes.rate_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes.rate_server_1b_pd_1
+      network.incoming.bytes.rate_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes.rate_pd_server_1b_port_1
+      disk.device.read.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests.rate_pd_server_1b
+      disk.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests_pd_server_1b
+      scalable_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - scalable_pd_server_1b
+      cpu.delta_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu.delta_pd_server_1b
+      feature_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - feature_test_resourceGroup_1
+      vcpus_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - vcpus_pd_server_1b
+      disk.device.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests_pd_server_1b
+      network.incoming.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
+      disk.read.bytes_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes_server_1b_pd_1
+      binding_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - binding_server_1b_pd_1
+      disk.device.read.bytes.rate_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes.rate_server_1b_pd_1
+      disk.latency_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.latency_server_1b_pd_1
+      disk.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes.rate_pd_server_1b
+      network.outgoing.bytes_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes_pd_server_1b_port_1
+      memory.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.usage_pd_server_1b
+      os_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - os_server_1b_pd_1
+      disk.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.latency_pd_server_1b
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
+      disk.write.requests_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests_server_1b_pd_1
+    requirements:
+      link_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - link_template_Vlan_vmi_1
+      dependency_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_1b_port
+      link_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - link_template_Vlan_vmi_1_test_resourceGroup_1
+      dependency_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_server_1b_pd_1
+      link_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - link_pd_server_1b_pd_server_1b_port
+      dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency_template_Vlan_vmi_1
+      link_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - link_pd_server_1b_port_1
+      dependency_pd_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_pd_server_1b_port_1
+      dependency_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency
+      dependency_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_test_resourceGroup_1
+      local_storage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - local_storage_pd_server_1b
+      dependency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_template_Vlan_vmi_1_test_resourceGroup_1
+      dependency_test_nested_level2:
+      - test_nested_level2
+      - dependency
+      local_storage_server_1b_pd_1_test_nested_level2:
+      - test_nested_level2
+      - local_storage_server_1b_pd_1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..0280a76
--- /dev/null
@@ -0,0 +1,377 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5_levelTwo
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_pd_server_1b_port_1_network_role_tag:
+      type: string
+      required: true
+    port_pd_server_1b_port_1_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_server_1b_port_1_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_1_subnetpoolid:
+      type: string
+      required: true
+    ps_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: PD server names
+      entry_schema:
+        type: string
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_1_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    ps_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: Ps server names
+      entry_schema:
+        type: string
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    ps_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PD server
+    pd_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    port_pd_server_1b_port_1_order:
+      type: integer
+      required: true
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    ps_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PS server
+    ps_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: Ps Image server
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    pd_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: PD Image server
+    pd_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    port_pd_server_1b_port_1_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_1_network_role:
+      type: string
+      required: true
+  node_templates:
+    test_resourceGroup_1:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface: pd_server_1b_port_1
+        net1:
+          get_input: sub_inf_net
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b_port_1
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_1b_port_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy: AUTO
+        ip_requirements:
+          get_input: port_pd_server_1b_port_1_ip_requirements
+        network_role:
+          get_input: port_pd_server_1b_port_1_network_role
+        fixed_ips:
+        - ip_address:
+            get_input:
+            - pd_server_1b_ips
+            - 0
+        subnetpoolid:
+          get_input: port_pd_server_1b_port_1_subnetpoolid
+        mac_requirements:
+          get_input: port_pd_server_1b_port_1_mac_requirements
+        exCP_naming:
+          get_input: port_pd_server_1b_port_1_exCP_naming
+        vlan_requirements:
+          get_input: port_pd_server_1b_port_1_vlan_requirements
+        network_role_tag:
+          get_input: port_pd_server_1b_port_1_network_role_tag
+        network:
+          get_input: port_net
+        order:
+          get_input: port_pd_server_1b_port_1_order
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: server_1b_pd_1
+          relationship: tosca.relationships.network.BindsTo
+    server_1b_pd_1:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        flavor:
+          get_input: pd_server_1b_flavor
+        availability_zone:
+          get_input: availability_zone_0
+        image:
+          get_input: pd_server_1b_image
+        name:
+          get_input:
+          - pd_server_1b_names
+          - 1
+  groups:
+    nested_pattern5_levelTwo_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5_levelTwo.yml
+        description: nested1
+      members:
+      - test_resourceGroup_1
+      - pd_server_1b_port_1
+      - server_1b_pd_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.pd_server_1b
+    capabilities:
+      attachment_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - attachment
+      network.outgoing.packets.rate_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - network.outgoing.packets.rate
+      memory.resident_server_1b_pd_1:
+      - server_1b_pd_1
+      - memory.resident
+      disk.device.read.bytes_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.read.bytes
+      disk.device.write.requests_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.write.requests
+      disk.ephemeral.size_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.ephemeral.size
+      disk.capacity_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.capacity
+      forwarder_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - forwarder
+      network.outpoing.packets_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - network.outpoing.packets
+      instance_server_1b_pd_1:
+      - server_1b_pd_1
+      - instance
+      disk.device.capacity_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.capacity
+      network.outgoing.bytes.rate_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - network.outgoing.bytes.rate
+      feature_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - feature
+      os_server_1b_pd_1:
+      - server_1b_pd_1
+      - os
+      network.incoming.packets.rate_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - network.incoming.packets.rate
+      disk.read.bytes_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.read.bytes
+      cpu_server_1b_pd_1:
+      - server_1b_pd_1
+      - cpu
+      feature_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature
+      endpoint_server_1b_pd_1:
+      - server_1b_pd_1
+      - endpoint
+      network.incoming.bytes_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - network.incoming.bytes
+      disk.write.requests.rate_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.write.requests.rate
+      host_server_1b_pd_1:
+      - server_1b_pd_1
+      - host
+      disk.root.size_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.root.size
+      disk.device.read.bytes.rate_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.read.bytes.rate
+      disk.write.bytes.rate_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.write.bytes.rate
+      memory_server_1b_pd_1:
+      - server_1b_pd_1
+      - memory
+      disk.device.allocation_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.allocation
+      disk.device.usage_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.usage
+      disk.usage_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.usage
+      disk.device.iops_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.iops
+      disk.allocation_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.allocation
+      disk.read.requests_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.read.requests
+      disk.device.write.bytes.rate_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.write.bytes.rate
+      cpu_util_server_1b_pd_1:
+      - server_1b_pd_1
+      - cpu_util
+      feature_server_1b_pd_1:
+      - server_1b_pd_1
+      - feature
+      disk.device.latency_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.latency
+      binding_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - binding
+      disk.write.bytes_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.write.bytes
+      disk.device.write.bytes_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.write.bytes
+      disk.device.read.requests.rate_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.read.requests.rate
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature_template_Vlan_vmi_1
+      disk.iops_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.iops
+      disk.write.requests_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.write.requests
+      scalable_server_1b_pd_1:
+      - server_1b_pd_1
+      - scalable
+      disk.device.write.requests.rate_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.write.requests.rate
+      binding_server_1b_pd_1:
+      - server_1b_pd_1
+      - binding
+      cpu.delta_server_1b_pd_1:
+      - server_1b_pd_1
+      - cpu.delta
+      disk.device.read.requests_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.device.read.requests
+      network.incoming.packets_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - network.incoming.packets
+      vcpus_server_1b_pd_1:
+      - server_1b_pd_1
+      - vcpus
+      disk.read.bytes.rate_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.read.bytes.rate
+      network.outgoing.bytes_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - network.outgoing.bytes
+      memory.usage_server_1b_pd_1:
+      - server_1b_pd_1
+      - memory.usage
+      network.incoming.bytes.rate_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - network.incoming.bytes.rate
+      disk.latency_server_1b_pd_1:
+      - server_1b_pd_1
+      - disk.latency
+    requirements:
+      dependency_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency
+      link_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - link_template_Vlan_vmi_1
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency_template_Vlan_vmi_1
+      local_storage_server_1b_pd_1:
+      - server_1b_pd_1
+      - local_storage
+      link_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - link
+      dependency_server_1b_pd_1:
+      - server_1b_pd_1
+      - dependency
+      dependency_pd_server_1b_port_1:
+      - pd_server_1b_port_1
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/nested_vlanServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiLevelNestedScenario/out/nested_vlanServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..ed59356
--- /dev/null
@@ -0,0 +1,111 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_vlan
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    vlan_ids:
+      hidden: false
+      immutable: false
+      type: string
+    parent_interface:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ipv6_address:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ip_address:
+      hidden: false
+      immutable: false
+      type: string
+    lb_st_vlan_type_oam:
+      hidden: false
+      immutable: false
+      type: string
+      description: dummy
+    mac_address:
+      hidden: false
+      immutable: false
+      type: string
+    net1:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_name_prefix:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_instance_index:
+      hidden: false
+      immutable: false
+      type: float
+  node_templates:
+    template_Vlan_vmi_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      properties:
+        virtual_machine_interface_refs:
+        - get_input: parent_interface
+        name:
+          str_replace:
+            template: $NAME$VLAN
+            params:
+              $NAME:
+                get_input: subinterface_name_prefix
+              $VLAN:
+                get_input:
+                - vlan_ids
+                - get_input: subinterface_instance_index
+        virtual_network_refs:
+        - get_input: net1
+        virtual_machine_interface_properties:
+          sub_interface_vlan_tag:
+            get_input: lb_st_vlan_type_oam
+        virtual_machine_interface_allowed_address_pairs:
+          allowed_address_pair:
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ip_address
+              ip_prefix_len: 32
+            mac:
+              get_input: mac_address
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ipv6_address
+              ip_prefix_len: 128
+            mac:
+              get_input: mac_address
+        virtual_machine_interface_mac_addresses:
+          mac_address:
+          - get_input: mac_address
+  groups:
+    nested_vlan_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_vlan.yml
+        description: cmaui server template for vMMSC
+      members:
+      - template_Vlan_vmi_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+    capabilities:
+      feature_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - feature
+    requirements:
+      link_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - link
+      dependency_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - dependency
+      binding_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - binding
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..e83f092
--- /dev/null
@@ -0,0 +1,22 @@
+{
+  "name": "Nested test",
+  "description": "HOT template to create nested one level multiple compute",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true"
+    },
+    {
+      "file": "nested_pattern5.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_vlan.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/main.yml
new file mode 100644 (file)
index 0000000..1fa9360
--- /dev/null
@@ -0,0 +1,164 @@
+heat_template_version: 2013-05-23
+
+description: >
+  Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+
+parameters:
+#  pd_server_1b_names:
+#    type: comma_delimited_list
+#    description: PD server names
+#  pd_server_1b_image:
+#    type: string
+#    description: PD Image server
+#  pd_server_1b_flavor:
+#    type: string
+#    description: Flavor for PD server
+#  pd_server_1b_ips:
+#    type: string
+  packet_externalmain_network_name:
+    type: string
+    description: network name
+  packet_internalmain_network_name:
+    type: string
+    description: network name
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  pd_server_1b_names:
+    type: comma_delimited_list
+    description: Ps server names
+  pd_server_1b_image:
+    type: string
+    description: Ps Image server
+  pd_server_1b_flavor:
+    type: string
+    description: Flavor for PS server
+  pd_server_1b_ips:
+    type: string
+  pd_server_2b_ips:
+    type: string
+
+resources:
+  packet_internalmain_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_internalmain_network_name
+
+  packet_externalmain_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_externalmain_network_name
+
+  pd_server_1b_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: packet_internalmain_network }
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  pd_server_1b_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: packet_internalmain_network }
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 1]}}]
+      replacement_policy: AUTO
+
+  pd_server_1b_port_01:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_internalmain_network}
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  pd_server_1b_port_11:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_internalmain_network}
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 1]}}]
+      replacement_policy: AUTO
+
+  server_1b_pd_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 0]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_0 }
+
+  server_1b_pd_1:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 1]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_1 }
+
+  server_1b_pd_01:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 1]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_01 }
+
+  server_1b_pd_11:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 2]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+        - port: { get_resource: pd_server_1b_port_11 }
+
+  test_resourceGroup_0:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port_0}
+          net1: { get_resource: packet_externalmain_network}
+
+  test_resourceGroup_1:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port_1}
+          net1: { get_resource: packet_externalmain_network}
+
+  test_resourceGroup_01:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port_01}
+          net1: { get_resource: packet_externalmain_network}
+
+  test_resourceGroup_11:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port_11}
+          net1: { get_resource: packet_externalmain_network}
+
+  test_nested_level1:
+    type: nested_pattern5.yml
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/nested_pattern5.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/nested_pattern5.yml
new file mode 100644 (file)
index 0000000..d3ca9e5
--- /dev/null
@@ -0,0 +1,149 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  sub_inf_net:
+    type: string
+    description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  ps_server_1b_names:
+    type: comma_delimited_list
+    description: Ps server names
+  ps_server_1b_image:
+    type: string
+    description: Ps Image server
+  ps_server_1b_flavor:
+    type: string
+    description: Flavor for PS server
+  ps_server_1b_ips:
+    type: string
+  ps_server_2b_ips:
+    type: string
+  packet_ext_network_name:
+    type: string
+    description: network name
+  packet_int_network_name:
+    type: string
+    description: network name
+  pd_server_1b_names:
+    type: comma_delimited_list
+    description: PD server names
+  pd_server_1b_image:
+    type: string
+    description: PD Image server
+  pd_server_1b_flavor:
+    type: string
+    description: Flavor for PD server
+  pd_server_1b_ips:
+    type: string
+
+resources:
+  packet_int_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_int_network_name
+
+  packet_ext_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_ext_network_name
+
+  ps_server_1b_port_2:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_int_network}
+      fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_ps_2:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [ps_server_1b_names, 1]}
+      image: { get_param: ps_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: ps_server_1b_flavor }
+      networks:
+      - port: { get_resource: ps_server_1b_port_2 }
+
+  ps_server_1b_port_3:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_int_network}
+      fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 1]}}]
+      replacement_policy: AUTO
+
+  server_1b_ps_3:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [ps_server_1b_names, 2]}
+      image: { get_param: ps_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: ps_server_1b_flavor }
+      networks:
+        - port: { get_resource: ps_server_1b_port_3 }
+
+  test_resourceGroup_2:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: ps_server_1b_port_2}
+          net1: { get_resource: packet_ext_network}
+
+  test_resourceGroup_3:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: ps_server_1b_port_3}
+          net1: { get_resource: packet_ext_network}
+
+  pd_server_1b_port_2:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: packet_int_network }
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_pd_2:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 0]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_2 }
+
+  pd_server_1b_port_3:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: packet_int_network }
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 1]}}]
+      replacement_policy: AUTO
+
+  server_1b_pd_3:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 1]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_3 }
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/nested_vlan.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/in/nested_vlan.yml
new file mode 100644 (file)
index 0000000..cc50a66
--- /dev/null
@@ -0,0 +1,68 @@
+heat_template_version: 2018-02-01
+
+description: cmaui server template for vMMSC
+
+parameters:
+  parent_interface:
+    type: string
+  net1:
+    type: string
+  lb_st_vlan_type_oam:
+    description: dummy
+    type: string
+  mac_address:
+    type: string
+  virtual_ip_address:
+    type: string
+  virtual_ipv6_address:
+    type: string
+  vlan_ids:
+    type: string
+  subinterface_name_prefix:
+    type: string
+  subinterface_instance_index:
+    type: number
+resources:
+
+  template_Vlan_vmi_1:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          template: $NAME$VLAN
+          params:
+            $NAME: { get_param: subinterface_name_prefix }
+            $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+      virtual_machine_interface_properties:
+        {
+          virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+        }
+      virtual_machine_interface_mac_addresses:
+        {
+        virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+        }
+      virtual_machine_interface_allowed_address_pairs:
+        {
+        virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+              }
+            },
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+              }
+            }
+          ]
+        }
+      virtual_network_refs: [{ get_param: net1 }]
+      virtual_machine_interface_refs: [{ get_param: parent_interface }]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..58879ff
--- /dev/null
@@ -0,0 +1,2953 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.pd_server_1b_1:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      compute_pd_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_pd_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      cpu_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_pd_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_pd_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_pd_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      ps_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_names:
+        type: list
+        description: PD server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      ps_server_1b_names:
+        type: list
+        description: Ps server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      packet_ext_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      ps_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_flavor:
+        type: string
+        description: Flavor for PD server
+        required: true
+        status: SUPPORTED
+      pd_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_int_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      ps_server_1b_flavor:
+        type: string
+        description: Flavor for PS server
+        required: true
+        status: SUPPORTED
+      ps_server_1b_image:
+        type: string
+        description: Ps Image server
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_image:
+        type: string
+        description: PD Image server
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_test_resourceGroup_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_3:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_ext_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_port_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_pd_3:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_3:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_int_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_3:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_3:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_3:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_3:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_pd_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_port_3:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      binding_ps_server_1b_port_2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      binding_ps_server_1b_port_3:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port_3:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_3:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_3:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_3:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_3:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_int_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_3:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_ext_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_3:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_pd_3:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_pd_2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_int_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_3:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      attachment_ps_server_1b_port_3:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_ext_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_3:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_3:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_ext_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_int_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_3:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd_3:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_int_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_3:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_ext_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port_2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port_3:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_3:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_3:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_3:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_3:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_3:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_3:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.pd_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      compute_pd_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_pd_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_pd_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      cpu_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_pd_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_pd_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_pd_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.ps_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_ps_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_ps_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      port_ps_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_ps_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_ps_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_ps_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_ps_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_ps_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_ps_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_ps_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_ps_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      vlan_ids:
+        type: string
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ipv6_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ip_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      lb_st_vlan_type_oam:
+        type: string
+        description: dummy
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      net1:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_name_prefix:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_instance_index:
+        type: float
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_template_Vlan_vmi_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_template_Vlan_vmi_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..6f4882f
--- /dev/null
@@ -0,0 +1,270 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    pd_server_1b_flavor:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_server_1b_flavor
+      type: string
+      description: Flavor for PS server
+    packet_externalmain_network_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: packet_externalmain_network_name
+      type: string
+      description: network name
+    pd_server_1b_ips:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_server_1b_ips
+      type: string
+    pd_server_1b_names:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_server_1b_names
+      type: list
+      description: Ps server names
+      entry_schema:
+        type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: availabilityzone name
+    packet_internalmain_network_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: packet_internalmain_network_name
+      type: string
+      description: network name
+    pd_server_1b_image:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_server_1b_image
+      type: string
+      description: Ps Image server
+    pd_server_2b_ips:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_server_2b_ips
+      type: string
+  node_templates:
+    abstract_pd_server_1b_1:
+      type: org.openecomp.resource.abstract.nodes.pd_server_1b_1
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_1b_name:
+        - get_input:
+          - pd_server_1b_names
+          - 0
+        - get_input:
+          - pd_server_1b_names
+          - 1
+        - get_input:
+          - pd_server_1b_names
+          - 2
+        - get_input:
+          - pd_server_1b_names
+          - 1
+        vm_flavor_name:
+          get_input: pd_server_1b_flavor
+        subinterface_nested_vlan_net1:
+        - packet_externalmain_network
+        - packet_externalmain_network
+        - packet_externalmain_network
+        - packet_externalmain_network
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        - AUTO
+        - AUTO
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        subinterface_nested_vlan_parent_interface:
+        - pd_server_1b_port_0
+        - pd_server_1b_port_01
+        - pd_server_1b_port_11
+        - pd_server_1b_port_1
+        port_pd_server_1b_port_fixed_ips:
+        - - ip_address:
+              get_input:
+              - pd_server_1b_ips
+              - 0
+        - - ip_address:
+              get_input:
+              - pd_server_1b_ips
+              - 0
+        - - ip_address:
+              get_input:
+              - pd_server_1b_ips
+              - 1
+        - - ip_address:
+              get_input:
+              - pd_server_1b_ips
+              - 1
+        port_pd_server_1b_port_network:
+        - packet_internalmain_network
+        - packet_internalmain_network
+        - packet_internalmain_network
+        - packet_internalmain_network
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        - get_input: availability_zone_0
+        - get_input: availability_zone_0
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        service_template_filter:
+          substitute_service_template: Nested_pd_server_1b_1ServiceTemplate.yaml
+          count: 4
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_pd_server_1b_pd_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_internalmain_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_externalmain_network
+          relationship: tosca.relationships.network.LinksTo
+    packet_internalmain_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_internalmain_network_name
+    test_nested_level1:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_pattern5ServiceTemplate.yaml
+    packet_externalmain_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_externalmain_network_name
+  groups:
+    main_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/main.yml
+        description: |
+          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+      members:
+      - packet_internalmain_network
+      - test_nested_level1
+      - packet_externalmain_network
+      - abstract_pd_server_1b_1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/Nested_pd_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/Nested_pd_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..53bc450
--- /dev/null
@@ -0,0 +1,306 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    compute_pd_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_server_1b_port_network_role:
+      type: string
+      required: true
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_order:
+      type: integer
+      required: true
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+  node_templates:
+    pd_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_1b_name
+          - index_value
+    pd_server_1b_pd_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_pd_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_pd_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd_server_1b_port_mac_requirements
+        order:
+          get_input: port_pd_server_1b_port_order
+        network_role:
+          get_input: port_pd_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_pd_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_pd_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_pd_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server_1b
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
+      host_pd_server_1b:
+      - pd_server_1b
+      - host
+      disk.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes.rate
+      disk.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.allocation
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
+      cpu.delta_pd_server_1b:
+      - pd_server_1b
+      - cpu.delta
+      forwarder_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - forwarder
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
+      disk.device.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests
+      feature_pd_server_1b:
+      - pd_server_1b
+      - feature
+      disk.device.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
+      cpu_pd_server_1b:
+      - pd_server_1b
+      - cpu
+      disk.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes.rate
+      disk.device.read.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests.rate
+      endpoint_pd_server_1b:
+      - pd_server_1b
+      - endpoint
+      disk.device.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.device.allocation
+      memory.usage_pd_server_1b:
+      - pd_server_1b
+      - memory.usage
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
+      memory_pd_server_1b:
+      - pd_server_1b
+      - memory
+      disk.device.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.device.latency
+      disk.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes
+      disk.device.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
+      disk.device.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests
+      disk.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.latency
+      disk.ephemeral.size_pd_server_1b:
+      - pd_server_1b
+      - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
+      scalable_pd_server_1b:
+      - pd_server_1b
+      - scalable
+      disk.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests
+      disk.device.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes.rate
+      disk.root.size_pd_server_1b:
+      - pd_server_1b
+      - disk.root.size
+      disk.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.iops
+      disk.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes
+      os_pd_server_1b:
+      - pd_server_1b
+      - os
+      vcpus_pd_server_1b:
+      - pd_server_1b
+      - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
+      instance_pd_server_1b:
+      - pd_server_1b
+      - instance
+      binding_pd_server_1b:
+      - pd_server_1b
+      - binding
+      cpu_util_pd_server_1b:
+      - pd_server_1b
+      - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
+      memory.resident_pd_server_1b:
+      - pd_server_1b
+      - memory.resident
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets
+      disk.device.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests.rate
+      disk.device.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.device.capacity
+      disk.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.read.requests
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
+      disk.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.capacity
+      disk.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.usage
+      disk.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests.rate
+    requirements:
+      dependency_pd_server_1b:
+      - pd_server_1b
+      - dependency
+      local_storage_pd_server_1b:
+      - pd_server_1b
+      - local_storage
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - link
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/Nested_pd_server_1b_1ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/Nested_pd_server_1b_1ServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..08292dc
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server_1b_1
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    compute_pd_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_server_1b_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_order:
+      type: integer
+      required: true
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+  node_templates:
+    pd_server_1b_pd_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b_pd_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_1b_name
+          - index_value
+    pd_server_1b_pd_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_pd_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_pd_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd_server_1b_port_mac_requirements
+        order:
+          get_input: port_pd_server_1b_port_order
+        network_role:
+          get_input: port_pd_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_pd_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_pd_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_pd_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server_1b_1
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
+      host_pd_server_1b:
+      - pd_server_1b
+      - host
+      disk.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes.rate
+      disk.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.allocation
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
+      cpu.delta_pd_server_1b:
+      - pd_server_1b
+      - cpu.delta
+      forwarder_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - forwarder
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
+      disk.device.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests
+      feature_pd_server_1b:
+      - pd_server_1b
+      - feature
+      disk.device.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
+      cpu_pd_server_1b:
+      - pd_server_1b
+      - cpu
+      disk.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes.rate
+      disk.device.read.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests.rate
+      endpoint_pd_server_1b:
+      - pd_server_1b
+      - endpoint
+      disk.device.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.device.allocation
+      memory.usage_pd_server_1b:
+      - pd_server_1b
+      - memory.usage
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
+      memory_pd_server_1b:
+      - pd_server_1b
+      - memory
+      disk.device.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.device.latency
+      disk.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes
+      disk.device.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
+      disk.device.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests
+      disk.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.latency
+      disk.ephemeral.size_pd_server_1b:
+      - pd_server_1b
+      - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
+      scalable_pd_server_1b:
+      - pd_server_1b
+      - scalable
+      disk.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+      disk.device.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes.rate
+      disk.root.size_pd_server_1b:
+      - pd_server_1b
+      - disk.root.size
+      disk.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.iops
+      disk.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes
+      os_pd_server_1b:
+      - pd_server_1b
+      - os
+      vcpus_pd_server_1b:
+      - pd_server_1b
+      - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
+      instance_pd_server_1b:
+      - pd_server_1b
+      - instance
+      binding_pd_server_1b:
+      - pd_server_1b
+      - binding
+      cpu_util_pd_server_1b:
+      - pd_server_1b
+      - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
+      memory.resident_pd_server_1b:
+      - pd_server_1b
+      - memory.resident
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets
+      disk.device.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests.rate
+      disk.device.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.device.capacity
+      disk.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.read.requests
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
+      disk.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.capacity
+      disk.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.usage
+      disk.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests.rate
+    requirements:
+      link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_pd_server_1b:
+      - pd_server_1b
+      - dependency
+      local_storage_pd_server_1b:
+      - pd_server_1b
+      - local_storage
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - link
+      dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency
+      dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/Nested_ps_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/Nested_ps_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..5c43ad9
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_ps_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_ps_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_ps_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_ps_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_ps_server_1b_port_order:
+      type: integer
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    vm_image_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_network_role:
+      type: string
+      required: true
+    port_ps_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+    compute_ps_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_ps_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    ps_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_ps_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_ps_server_1b_name
+          - index_value
+    ps_server_1b_ps_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b_ps_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    ps_server_1b_ps_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_ps_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_ps_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_ps_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_ps_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_ps_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_ps_server_1b_port_mac_requirements
+        order:
+          get_input: port_ps_server_1b_port_order
+        network_role:
+          get_input: port_ps_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_ps_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_ps_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_ps_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.ps_server_1b
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes.rate
+      disk.device.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.device.usage
+      disk.device.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.device.allocation
+      disk.device.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests
+      cpu_util_ps_server_1b:
+      - ps_server_1b
+      - cpu_util
+      scalable_ps_server_1b:
+      - ps_server_1b
+      - scalable
+      disk.device.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.device.latency
+      disk.device.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.device.iops
+      attachment_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - attachment
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.packets.rate
+      disk.device.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.device.capacity
+      forwarder_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - forwarder
+      instance_ps_server_1b:
+      - ps_server_1b
+      - instance
+      cpu_ps_server_1b:
+      - ps_server_1b
+      - cpu
+      disk.device.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes
+      disk.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes.rate
+      disk.device.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests
+      host_ps_server_1b:
+      - ps_server_1b
+      - host
+      disk.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.usage
+      disk.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.read.requests
+      feature_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - feature
+      disk.device.read.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests.rate
+      disk.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.capacity
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes
+      disk.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests.rate
+      disk.device.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes
+      disk.device.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests.rate
+      disk.root.size_ps_server_1b:
+      - ps_server_1b
+      - disk.root.size
+      binding_ps_server_1b:
+      - ps_server_1b
+      - binding
+      memory.resident_ps_server_1b:
+      - ps_server_1b
+      - memory.resident
+      memory_ps_server_1b:
+      - ps_server_1b
+      - memory
+      disk.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes.rate
+      disk.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets.rate
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes.rate
+      feature_ps_server_1b:
+      - ps_server_1b
+      - feature
+      os_ps_server_1b:
+      - ps_server_1b
+      - os
+      disk.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.iops
+      disk.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.allocation
+      disk.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outpoing.packets
+      memory.usage_ps_server_1b:
+      - ps_server_1b
+      - memory.usage
+      disk.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.latency
+      endpoint_ps_server_1b:
+      - ps_server_1b
+      - endpoint
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes.rate
+      feature_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - feature
+      vcpus_ps_server_1b:
+      - ps_server_1b
+      - vcpus
+      cpu.delta_ps_server_1b:
+      - ps_server_1b
+      - cpu.delta
+      disk.ephemeral.size_ps_server_1b:
+      - ps_server_1b
+      - disk.ephemeral.size
+      binding_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - binding
+      feature_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+    requirements:
+      dependency_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      local_storage_ps_server_1b:
+      - ps_server_1b
+      - local_storage
+      dependency_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - dependency
+      dependency_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - dependency
+      link_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - link
+      link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_ps_server_1b:
+      - ps_server_1b
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/nested_pattern5ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/nested_pattern5ServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..2372290
--- /dev/null
@@ -0,0 +1,993 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    ps_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: PD server names
+      entry_schema:
+        type: string
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    ps_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: Ps server names
+      entry_schema:
+        type: string
+    packet_ext_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    ps_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PD server
+    pd_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_int_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    ps_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PS server
+    ps_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: Ps Image server
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    pd_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: PD Image server
+  node_templates:
+    abstract_pd_server_1b:
+      type: org.openecomp.resource.abstract.nodes.pd_server_1b
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_1b_name:
+        - get_input:
+          - pd_server_1b_names
+          - 1
+        - get_input:
+          - pd_server_1b_names
+          - 0
+        vm_flavor_name:
+          get_input: pd_server_1b_flavor
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_pd_server_1b_port_fixed_ips:
+        - - ip_address:
+              get_input:
+              - pd_server_1b_ips
+              - 1
+        - - ip_address:
+              get_input:
+              - pd_server_1b_ips
+              - 0
+        port_pd_server_1b_port_network:
+        - packet_int_network
+        - packet_int_network
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        service_template_filter:
+          substitute_service_template: Nested_pd_server_1bServiceTemplate.yaml
+          count: 2
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_pd_server_1b_pd_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_int_network
+          relationship: tosca.relationships.network.LinksTo
+    packet_ext_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_ext_network_name
+    packet_int_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_int_network_name
+    abstract_ps_server_1b:
+      type: org.openecomp.resource.abstract.nodes.ps_server_1b
+      directives:
+      - substitutable
+      properties:
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_ps_server_1b_port_fixed_ips:
+        - - ip_address:
+              get_input:
+              - ps_server_1b_ips
+              - 1
+        - - ip_address:
+              get_input:
+              - ps_server_1b_ips
+              - 0
+        vm_flavor_name:
+          get_input: ps_server_1b_flavor
+        port_ps_server_1b_port_network:
+        - packet_int_network
+        - packet_int_network
+        subinterface_nested_vlan_net1:
+        - packet_ext_network
+        - packet_ext_network
+        port_ps_server_1b_port_ip_requirements:
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        vm_image_name:
+          get_input: ps_server_1b_image
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
+        - AUTO
+        subinterface_nested_vlan_parent_interface:
+        - ps_server_1b_port_3
+        - ps_server_1b_port_2
+        compute_ps_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        - get_input: availability_zone_0
+        compute_ps_server_1b_name:
+        - get_input:
+          - ps_server_1b_names
+          - 2
+        - get_input:
+          - ps_server_1b_names
+          - 1
+        service_template_filter:
+          substitute_service_template: Nested_ps_server_1bServiceTemplate.yaml
+          count: 2
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_ps_server_1b_ps_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_int_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_ext_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    nested_pattern5_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5.yml
+        description: nested1
+      members:
+      - packet_ext_network
+      - packet_int_network
+      - abstract_ps_server_1b
+      - abstract_pd_server_1b
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+    capabilities:
+      binding_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b_ps_server_1b_port
+      binding_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b_ps_server_1b_port
+      disk.device.usage_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.usage_ps_server_1b
+      disk.device.usage_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.usage_ps_server_1b
+      disk.device.write.requests.rate_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.write.requests.rate_ps_server_1b
+      disk.device.write.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.write.requests.rate_ps_server_1b
+      feature_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_1b_port
+      disk.capacity_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.capacity_pd_server_1b
+      feature_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_1b_port
+      disk.capacity_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.capacity_pd_server_1b
+      forwarder_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_1b_port
+      forwarder_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_1b_port
+      network.outpoing.packets_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
+      network.outpoing.packets_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
+      disk.device.iops_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.iops_pd_server_1b
+      cpu.delta_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - cpu.delta_ps_server_1b
+      disk.device.iops_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.iops_pd_server_1b
+      cpu.delta_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - cpu.delta_ps_server_1b
+      cpu_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - cpu_pd_server_1b
+      cpu_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - cpu_pd_server_1b
+      disk.capacity_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.capacity_ps_server_1b
+      disk.capacity_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.capacity_ps_server_1b
+      host_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - host_ps_server_1b
+      memory_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - memory_ps_server_1b
+      memory_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - memory_ps_server_1b
+      network.outgoing.packets.rate_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
+      instance_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - instance_ps_server_1b
+      network.outgoing.packets.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
+      instance_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - instance_ps_server_1b
+      disk.write.bytes_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.write.bytes_pd_server_1b
+      disk.write.bytes_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.write.bytes_pd_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - feature_template_Vlan_vmi_1
+      feature_template_Vlan_vmi_1_test_resourceGroup_3:
+      - test_resourceGroup_3
+      - feature_template_Vlan_vmi_1
+      disk.device.write.requests.rate_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.write.requests.rate_pd_server_1b
+      disk.device.write.requests.rate_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.write.requests.rate_pd_server_1b
+      disk.device.iops_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.iops_ps_server_1b
+      disk.device.capacity_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.capacity_ps_server_1b
+      disk.device.capacity_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.capacity_ps_server_1b
+      network.incoming.packets_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
+      network.incoming.packets_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
+      disk.device.iops_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.iops_ps_server_1b
+      network.outgoing.bytes_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
+      network.outgoing.bytes_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
+      endpoint_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - endpoint_ps_server_1b
+      endpoint_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - endpoint_ps_server_1b
+      host_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - host_ps_server_1b
+      network.outgoing.bytes.rate_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
+      feature_packet_int_network:
+      - packet_int_network
+      - feature
+      network.outgoing.bytes.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
+      network.outgoing.packets.rate_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
+      memory.resident_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - memory.resident_pd_server_1b
+      memory.resident_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - memory.resident_pd_server_1b
+      disk.device.allocation_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.allocation_ps_server_1b
+      disk.device.allocation_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.allocation_ps_server_1b
+      network.outgoing.packets.rate_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
+      disk.allocation_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.allocation_ps_server_1b
+      disk.allocation_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.allocation_ps_server_1b
+      network.outgoing.bytes.rate_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
+      vcpus_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - vcpus_ps_server_1b
+      vcpus_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - vcpus_ps_server_1b
+      network.outgoing.bytes.rate_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
+      disk.write.requests_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.write.requests_ps_server_1b
+      disk.read.bytes.rate_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.read.bytes.rate_ps_server_1b
+      disk.read.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.read.bytes.rate_ps_server_1b
+      memory.usage_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - memory.usage_ps_server_1b
+      os_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - os_pd_server_1b
+      memory.usage_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - memory.usage_ps_server_1b
+      os_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - os_pd_server_1b
+      disk.write.requests_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.write.requests_ps_server_1b
+      network.incoming.packets.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
+      disk.root.size_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.root.size_pd_server_1b
+      disk.latency_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.latency_ps_server_1b
+      network.incoming.packets.rate_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
+      disk.root.size_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.root.size_pd_server_1b
+      disk.latency_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.latency_ps_server_1b
+      link_packet_ext_network:
+      - packet_ext_network
+      - link
+      binding_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b
+      binding_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b
+      host_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - host_pd_server_1b
+      host_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - host_pd_server_1b
+      disk.device.write.requests_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.write.requests_ps_server_1b
+      disk.device.write.requests_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.write.requests_ps_server_1b
+      disk.allocation_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.allocation_pd_server_1b
+      end_point_packet_int_network:
+      - packet_int_network
+      - end_point
+      binding_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_1b_port
+      attachment_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - attachment_ps_server_1b_ps_server_1b_port
+      attachment_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - attachment_ps_server_1b_ps_server_1b_port
+      cpu_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - cpu_ps_server_1b
+      attachment_packet_ext_network:
+      - packet_ext_network
+      - attachment
+      binding_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_1b_port
+      disk.allocation_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.allocation_pd_server_1b
+      disk.write.requests_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.write.requests_pd_server_1b
+      disk.write.requests_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.write.requests_pd_server_1b
+      os_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - os_ps_server_1b
+      disk.device.read.requests.rate_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.read.requests.rate_pd_server_1b
+      os_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - os_ps_server_1b
+      feature_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - feature
+      feature_test_resourceGroup_3:
+      - test_resourceGroup_3
+      - feature
+      network.outgoing.bytes_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
+      network.outgoing.bytes_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
+      disk.usage_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.usage_ps_server_1b
+      vcpus_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - vcpus_pd_server_1b
+      vcpus_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - vcpus_pd_server_1b
+      disk.device.read.requests.rate_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.read.requests.rate_pd_server_1b
+      disk.usage_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.usage_ps_server_1b
+      disk.read.bytes.rate_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.read.bytes.rate_pd_server_1b
+      disk.read.bytes.rate_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.read.bytes.rate_pd_server_1b
+      memory.usage_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - memory.usage_pd_server_1b
+      memory.usage_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - memory.usage_pd_server_1b
+      cpu_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - cpu_ps_server_1b
+      feature_packet_ext_network:
+      - packet_ext_network
+      - feature
+      disk.device.read.bytes.rate_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes.rate_ps_server_1b
+      disk.latency_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.latency_pd_server_1b
+      disk.latency_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.latency_pd_server_1b
+      disk.device.read.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes.rate_ps_server_1b
+      disk.device.write.requests_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.write.requests_pd_server_1b
+      disk.device.write.requests_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.write.requests_pd_server_1b
+      disk.read.requests_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.read.requests_ps_server_1b
+      disk.read.requests_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.read.requests_ps_server_1b
+      disk.read.bytes_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.read.bytes_ps_server_1b
+      disk.read.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.read.bytes_ps_server_1b
+      disk.device.latency_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.latency_ps_server_1b
+      disk.device.latency_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.latency_ps_server_1b
+      disk.root.size_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.root.size_ps_server_1b
+      network.incoming.bytes.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
+      network.incoming.bytes.rate_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.root.size_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.root.size_ps_server_1b
+      disk.device.read.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.read.requests.rate_ps_server_1b
+      disk.device.read.requests.rate_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.read.requests.rate_ps_server_1b
+      disk.device.read.bytes.rate_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes.rate_pd_server_1b
+      disk.device.read.bytes.rate_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes.rate_pd_server_1b
+      disk.write.requests.rate_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.write.requests.rate_pd_server_1b
+      disk.write.requests.rate_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.write.requests.rate_pd_server_1b
+      network.incoming.bytes_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
+      network.incoming.bytes_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
+      attachment_packet_int_network:
+      - packet_int_network
+      - attachment
+      memory.resident_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - memory.resident_ps_server_1b
+      memory.resident_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - memory.resident_ps_server_1b
+      disk.usage_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.usage_pd_server_1b
+      disk.usage_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.usage_pd_server_1b
+      disk.write.bytes.rate_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.write.bytes.rate_pd_server_1b
+      disk.device.write.bytes.rate_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes.rate_ps_server_1b
+      disk.device.write.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes.rate_ps_server_1b
+      cpu_util_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - cpu_util_ps_server_1b
+      disk.write.bytes.rate_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.write.bytes.rate_pd_server_1b
+      cpu_util_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - cpu_util_ps_server_1b
+      disk.device.allocation_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.allocation_pd_server_1b
+      disk.device.allocation_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.allocation_pd_server_1b
+      disk.ephemeral.size_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.ephemeral.size_ps_server_1b
+      disk.ephemeral.size_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.ephemeral.size_ps_server_1b
+      disk.read.requests_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.read.requests_pd_server_1b
+      disk.read.requests_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.read.requests_pd_server_1b
+      disk.device.write.bytes.rate_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes.rate_pd_server_1b
+      cpu_util_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - cpu_util_pd_server_1b
+      forwarder_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - forwarder_ps_server_1b_ps_server_1b_port
+      forwarder_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - forwarder_ps_server_1b_ps_server_1b_port
+      feature_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b
+      link_packet_int_network:
+      - packet_int_network
+      - link
+      feature_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b
+      disk.device.write.bytes_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes_pd_server_1b
+      disk.iops_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.iops_pd_server_1b
+      disk.iops_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.iops_pd_server_1b
+      disk.device.write.bytes_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes_pd_server_1b
+      binding_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b
+      binding_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b
+      end_point_packet_ext_network:
+      - packet_ext_network
+      - end_point
+      network.outpoing.packets_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
+      network.outpoing.packets_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
+      disk.write.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.write.requests.rate_ps_server_1b
+      cpu_util_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - cpu_util_pd_server_1b
+      disk.device.write.bytes.rate_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes.rate_pd_server_1b
+      disk.write.requests.rate_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.write.requests.rate_ps_server_1b
+      attachment_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_1b_port
+      disk.write.bytes_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.write.bytes_ps_server_1b
+      disk.device.write.bytes_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes_ps_server_1b
+      disk.write.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.write.bytes_ps_server_1b
+      disk.device.write.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes_ps_server_1b
+      attachment_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_1b_port
+      disk.device.read.bytes_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes_pd_server_1b
+      disk.write.bytes.rate_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.write.bytes.rate_ps_server_1b
+      disk.device.read.bytes_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes_pd_server_1b
+      disk.write.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.write.bytes.rate_ps_server_1b
+      disk.ephemeral.size_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.ephemeral.size_pd_server_1b
+      disk.ephemeral.size_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.ephemeral.size_pd_server_1b
+      scalable_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - scalable_ps_server_1b
+      scalable_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - scalable_ps_server_1b
+      disk.device.capacity_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.capacity_pd_server_1b
+      feature_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b
+      feature_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b
+      instance_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - instance_pd_server_1b
+      disk.device.capacity_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.capacity_pd_server_1b
+      instance_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - instance_pd_server_1b
+      endpoint_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - endpoint_pd_server_1b
+      disk.read.bytes_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.read.bytes_pd_server_1b
+      disk.read.bytes_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.read.bytes_pd_server_1b
+      network.incoming.packets.rate_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
+      disk.iops_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.iops_ps_server_1b
+      disk.iops_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.iops_ps_server_1b
+      endpoint_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - endpoint_pd_server_1b
+      network.incoming.packets.rate_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.bytes_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
+      network.incoming.bytes_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
+      memory_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - memory_pd_server_1b
+      disk.device.read.requests_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.read.requests_ps_server_1b
+      memory_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - memory_pd_server_1b
+      disk.device.read.requests_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.read.requests_ps_server_1b
+      disk.device.usage_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.usage_pd_server_1b
+      disk.device.usage_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.usage_pd_server_1b
+      disk.device.latency_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.latency_pd_server_1b
+      disk.device.latency_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.latency_pd_server_1b
+      scalable_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - scalable_pd_server_1b
+      scalable_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - scalable_pd_server_1b
+      cpu.delta_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - cpu.delta_pd_server_1b
+      cpu.delta_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - cpu.delta_pd_server_1b
+      disk.device.read.requests_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - disk.device.read.requests_pd_server_1b
+      network.incoming.packets_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
+      network.incoming.packets_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
+      disk.device.read.requests_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - disk.device.read.requests_pd_server_1b
+      disk.device.read.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes_ps_server_1b
+      disk.device.read.bytes_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes_ps_server_1b
+      network.incoming.bytes.rate_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.bytes.rate_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
+      feature_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b_ps_server_1b_port
+      feature_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b_ps_server_1b_port
+    requirements:
+      dependency_template_Vlan_vmi_1_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - dependency_template_Vlan_vmi_1
+      local_storage_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - local_storage_pd_server_1b
+      dependency_template_Vlan_vmi_1_test_resourceGroup_3:
+      - test_resourceGroup_3
+      - dependency_template_Vlan_vmi_1
+      local_storage_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - local_storage_pd_server_1b
+      dependency_pd_server_1b_port_3:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_1b_port
+      dependency_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b
+      dependency_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b
+      dependency_pd_server_1b_port_2:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_1b_port
+      dependency_ps_server_1b_port_2:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b_ps_server_1b_port
+      dependency_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - dependency
+      dependency_ps_server_1b_port_3:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b_ps_server_1b_port
+      dependency_packet_int_network:
+      - packet_int_network
+      - dependency
+      dependency_packet_ext_network:
+      - packet_ext_network
+      - dependency
+      dependency_test_resourceGroup_3:
+      - test_resourceGroup_3
+      - dependency
+      local_storage_server_1b_ps_2:
+      - abstract_ps_server_1b
+      - local_storage_ps_server_1b
+      local_storage_server_1b_ps_3:
+      - abstract_ps_server_1b
+      - local_storage_ps_server_1b
+      dependency_server_1b_pd_2:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b
+      dependency_server_1b_pd_3:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/nested_vlanServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCMultiVFCInAllHeatScalingScenario/out/nested_vlanServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..ed59356
--- /dev/null
@@ -0,0 +1,111 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_vlan
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    vlan_ids:
+      hidden: false
+      immutable: false
+      type: string
+    parent_interface:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ipv6_address:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ip_address:
+      hidden: false
+      immutable: false
+      type: string
+    lb_st_vlan_type_oam:
+      hidden: false
+      immutable: false
+      type: string
+      description: dummy
+    mac_address:
+      hidden: false
+      immutable: false
+      type: string
+    net1:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_name_prefix:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_instance_index:
+      hidden: false
+      immutable: false
+      type: float
+  node_templates:
+    template_Vlan_vmi_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      properties:
+        virtual_machine_interface_refs:
+        - get_input: parent_interface
+        name:
+          str_replace:
+            template: $NAME$VLAN
+            params:
+              $NAME:
+                get_input: subinterface_name_prefix
+              $VLAN:
+                get_input:
+                - vlan_ids
+                - get_input: subinterface_instance_index
+        virtual_network_refs:
+        - get_input: net1
+        virtual_machine_interface_properties:
+          sub_interface_vlan_tag:
+            get_input: lb_st_vlan_type_oam
+        virtual_machine_interface_allowed_address_pairs:
+          allowed_address_pair:
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ip_address
+              ip_prefix_len: 32
+            mac:
+              get_input: mac_address
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ipv6_address
+              ip_prefix_len: 128
+            mac:
+              get_input: mac_address
+        virtual_machine_interface_mac_addresses:
+          mac_address:
+          - get_input: mac_address
+  groups:
+    nested_vlan_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_vlan.yml
+        description: cmaui server template for vMMSC
+      members:
+      - template_Vlan_vmi_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+    capabilities:
+      feature_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - feature
+    requirements:
+      link_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - link
+      dependency_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - dependency
+      binding_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - binding
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..e83f092
--- /dev/null
@@ -0,0 +1,22 @@
+{
+  "name": "Nested test",
+  "description": "HOT template to create nested one level multiple compute",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true"
+    },
+    {
+      "file": "nested_pattern5.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_vlan.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/main.yml
new file mode 100644 (file)
index 0000000..ac70ff5
--- /dev/null
@@ -0,0 +1,16 @@
+heat_template_version: 2013-05-23
+
+description: >
+  Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+
+parameters:
+  jsa_name:
+    type: string
+    description: network name of jsa log network
+
+resources:
+  test_nested_all_patterns:
+    type: nested_pattern5.yml
+    properties:
+      p1: {get_param: jsa_name}
+      p2: image
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/nested_pattern5.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/nested_pattern5.yml
new file mode 100644 (file)
index 0000000..8998579
--- /dev/null
@@ -0,0 +1,117 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  p1:
+    type: string
+    description: UID of OAM network
+  p2:
+    type: string
+    description: UID of OAM network
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  packet_internal_network_name:
+      type: string
+  packet_external_network_name:
+      type: string
+  net:
+    type: string
+  pd_server_1b_names:
+    type: comma_delimited_list
+    description: PD server names
+  pd_server_1b_image:
+    type: string
+    description: PD Image server
+  ps_server_1b_names:
+    type: comma_delimited_list
+    description: Ps server names
+  ps_server_1b_image:
+    type: string
+    description: Ps Image server
+  pd_server_1b_flavor:
+    type: string
+    description: Flavor for PD server
+  ps_server_1b_flavor:
+    type: string
+    description: Flavor for PS server
+  pd_server_1b_ips:
+    type: string
+  ps_server_1b_ips:
+    type: string
+  pd_server_2b_ips:
+    type: string
+  ps_server_2b_ips:
+    type: string
+
+resources:
+  pd_server_1b_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_internal_network}
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  pd_server_1b_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_internal_network}
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_pd_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 0]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_0 }
+
+  server_1b_pd_1:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 1]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_1 }
+
+  packet_internal_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_internal_network_name
+
+  packet_external_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_external_network_name
+
+  test_resourceGroup_0:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port_0}
+          net1: { get_resource: packet_external_network}
+
+  test_resourceGroup_1:
+      type: OS::Heat::ResourceGroup
+      properties:
+        count: 9
+        resource_def:
+          type: nested_vlan.yml
+          properties:
+            parent_interface: { get_resource: pd_server_1b_port_1}
+            net1: { get_resource: packet_external_network}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/nested_vlan.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/in/nested_vlan.yml
new file mode 100644 (file)
index 0000000..cc50a66
--- /dev/null
@@ -0,0 +1,68 @@
+heat_template_version: 2018-02-01
+
+description: cmaui server template for vMMSC
+
+parameters:
+  parent_interface:
+    type: string
+  net1:
+    type: string
+  lb_st_vlan_type_oam:
+    description: dummy
+    type: string
+  mac_address:
+    type: string
+  virtual_ip_address:
+    type: string
+  virtual_ipv6_address:
+    type: string
+  vlan_ids:
+    type: string
+  subinterface_name_prefix:
+    type: string
+  subinterface_instance_index:
+    type: number
+resources:
+
+  template_Vlan_vmi_1:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          template: $NAME$VLAN
+          params:
+            $NAME: { get_param: subinterface_name_prefix }
+            $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+      virtual_machine_interface_properties:
+        {
+          virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+        }
+      virtual_machine_interface_mac_addresses:
+        {
+        virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+        }
+      virtual_machine_interface_allowed_address_pairs:
+        {
+        virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+              }
+            },
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+              }
+            }
+          ]
+        }
+      virtual_network_refs: [{ get_param: net1 }]
+      virtual_machine_interface_refs: [{ get_param: parent_interface }]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..040c441
--- /dev/null
@@ -0,0 +1,1399 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      p1:
+        type: string
+        description: UID of OAM network
+        required: true
+        status: SUPPORTED
+      p2:
+        type: string
+        description: UID of OAM network
+        required: true
+        status: SUPPORTED
+      ps_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_internal_network_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_names:
+        type: list
+        description: PD server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      ps_server_1b_names:
+        type: list
+        description: Ps server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      ps_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_flavor:
+        type: string
+        description: Flavor for PD server
+        required: true
+        status: SUPPORTED
+      pd_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_external_network_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      ps_server_1b_flavor:
+        type: string
+        description: Flavor for PS server
+        required: true
+        status: SUPPORTED
+      ps_server_1b_image:
+        type: string
+        description: Ps Image server
+        required: true
+        status: SUPPORTED
+      net:
+        type: string
+        required: true
+        status: SUPPORTED
+      pd_server_1b_image:
+        type: string
+        description: PD Image server
+        required: true
+        status: SUPPORTED
+      pd_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_server_1b_pd_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_0:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_port_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_external_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_internal_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_port_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_pd_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_1:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      disk.device.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_internal_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_external_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_0:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_1:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_external_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port_1:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port_0:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_internal_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_internal_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_1:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_0:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_0:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_1:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_pd_1:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_pd_0:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_external_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_0:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_1:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_internal_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_0:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_1:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_external_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.pd_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      compute_pd_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_pd_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      cpu_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_pd_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_pd_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_pd_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      vlan_ids:
+        type: string
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ipv6_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ip_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      lb_st_vlan_type_oam:
+        type: string
+        description: dummy
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      net1:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_name_prefix:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_instance_index:
+        type: float
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_template_Vlan_vmi_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_template_Vlan_vmi_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..730daec
--- /dev/null
@@ -0,0 +1,43 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    jsa_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: jsa_name
+      type: string
+      description: network name of jsa log network
+  node_templates:
+    test_nested_all_patterns:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+      directives:
+      - substitutable
+      properties:
+        p1:
+          get_input: jsa_name
+        service_template_filter:
+          substitute_service_template: nested_pattern5ServiceTemplate.yaml
+        p2: image
+  groups:
+    main_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/main.yml
+        description: |
+          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+      members:
+      - test_nested_all_patterns
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/Nested_pd_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/Nested_pd_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9bea96b
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    compute_pd_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_server_1b_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_order:
+      type: integer
+      required: true
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+  node_templates:
+    pd_server_1b_pd_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b_pd_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_1b_name
+          - index_value
+    pd_server_1b_pd_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_pd_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_pd_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd_server_1b_port_mac_requirements
+        order:
+          get_input: port_pd_server_1b_port_order
+        network_role:
+          get_input: port_pd_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_pd_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_pd_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_pd_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server_1b
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
+      host_pd_server_1b:
+      - pd_server_1b
+      - host
+      disk.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes.rate
+      disk.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.allocation
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
+      cpu.delta_pd_server_1b:
+      - pd_server_1b
+      - cpu.delta
+      forwarder_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - forwarder
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
+      disk.device.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests
+      feature_pd_server_1b:
+      - pd_server_1b
+      - feature
+      disk.device.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
+      cpu_pd_server_1b:
+      - pd_server_1b
+      - cpu
+      disk.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes.rate
+      disk.device.read.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests.rate
+      endpoint_pd_server_1b:
+      - pd_server_1b
+      - endpoint
+      disk.device.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.device.allocation
+      memory.usage_pd_server_1b:
+      - pd_server_1b
+      - memory.usage
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
+      memory_pd_server_1b:
+      - pd_server_1b
+      - memory
+      disk.device.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.device.latency
+      disk.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes
+      disk.device.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
+      disk.device.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests
+      disk.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.latency
+      disk.ephemeral.size_pd_server_1b:
+      - pd_server_1b
+      - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
+      scalable_pd_server_1b:
+      - pd_server_1b
+      - scalable
+      disk.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+      disk.device.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes.rate
+      disk.root.size_pd_server_1b:
+      - pd_server_1b
+      - disk.root.size
+      disk.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.iops
+      disk.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes
+      os_pd_server_1b:
+      - pd_server_1b
+      - os
+      vcpus_pd_server_1b:
+      - pd_server_1b
+      - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
+      instance_pd_server_1b:
+      - pd_server_1b
+      - instance
+      binding_pd_server_1b:
+      - pd_server_1b
+      - binding
+      cpu_util_pd_server_1b:
+      - pd_server_1b
+      - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
+      memory.resident_pd_server_1b:
+      - pd_server_1b
+      - memory.resident
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets
+      disk.device.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests.rate
+      disk.device.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.device.capacity
+      disk.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.read.requests
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
+      disk.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.capacity
+      disk.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.usage
+      disk.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests.rate
+    requirements:
+      link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_pd_server_1b:
+      - pd_server_1b
+      - dependency
+      local_storage_pd_server_1b:
+      - pd_server_1b
+      - local_storage
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - link
+      dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency
+      dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/nested_pattern5ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/nested_pattern5ServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..d9c8303
--- /dev/null
@@ -0,0 +1,591 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    p1:
+      hidden: false
+      immutable: false
+      type: string
+      description: UID of OAM network
+    p2:
+      hidden: false
+      immutable: false
+      type: string
+      description: UID of OAM network
+    ps_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_internal_network_name:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: PD server names
+      entry_schema:
+        type: string
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    ps_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: Ps server names
+      entry_schema:
+        type: string
+    ps_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PD server
+    pd_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_external_network_name:
+      hidden: false
+      immutable: false
+      type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    ps_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PS server
+    ps_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: Ps Image server
+    net:
+      hidden: false
+      immutable: false
+      type: string
+    pd_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: PD Image server
+    pd_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+  node_templates:
+    packet_external_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_external_network_name
+    packet_internal_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_internal_network_name
+    abstract_pd_server_1b:
+      type: org.openecomp.resource.abstract.nodes.pd_server_1b
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_1b_name:
+        - get_input:
+          - pd_server_1b_names
+          - 0
+        - get_input:
+          - pd_server_1b_names
+          - 1
+        vm_flavor_name:
+          get_input: pd_server_1b_flavor
+        subinterface_nested_vlan_net1:
+        - packet_external_network
+        - packet_external_network
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        subinterface_nested_vlan_parent_interface:
+        - pd_server_1b_port_0
+        - pd_server_1b_port_1
+        port_pd_server_1b_port_fixed_ips:
+        - - ip_address:
+              get_input:
+              - pd_server_1b_ips
+              - 0
+        - - ip_address:
+              get_input:
+              - pd_server_1b_ips
+              - 0
+        port_pd_server_1b_port_network:
+        - packet_internal_network
+        - packet_internal_network
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        - - ip_version: 4
+            ip_count_required:
+              is_required: true
+            floating_ip_count_required:
+              is_required: false
+          - ip_version: 6
+            ip_count_required:
+              is_required: false
+            floating_ip_count_required:
+              is_required: false
+        service_template_filter:
+          substitute_service_template: Nested_pd_server_1bServiceTemplate.yaml
+          count: 2
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_pd_server_1b_pd_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_internal_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_external_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    nested_pattern5_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5.yml
+        description: nested1
+      members:
+      - packet_external_network
+      - packet_internal_network
+      - abstract_pd_server_1b
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+    capabilities:
+      disk.device.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests_pd_server_1b
+      disk.device.write.requests_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.write.requests_pd_server_1b
+      forwarder_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_1b_port
+      disk.capacity_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.capacity_pd_server_1b
+      forwarder_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_1b_port
+      disk.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.capacity_pd_server_1b
+      network.outpoing.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
+      network.outpoing.packets_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
+      feature_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_1b_port
+      feature_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_1b_port
+      attachment_packet_internal_network:
+      - packet_internal_network
+      - attachment
+      disk.device.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.allocation_pd_server_1b
+      feature_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature
+      cpu_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - cpu_pd_server_1b
+      cpu_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_pd_server_1b
+      feature_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature
+      disk.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests.rate_pd_server_1b
+      disk.write.requests.rate_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.write.requests.rate_pd_server_1b
+      disk.device.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes.rate_pd_server_1b
+      disk.device.read.bytes.rate_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes.rate_pd_server_1b
+      disk.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes.rate_pd_server_1b
+      disk.write.bytes.rate_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.write.bytes.rate_pd_server_1b
+      disk.device.allocation_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.allocation_pd_server_1b
+      disk.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.usage_pd_server_1b
+      disk.usage_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.usage_pd_server_1b
+      disk.device.iops_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.iops_pd_server_1b
+      disk.device.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.iops_pd_server_1b
+      disk.read.requests_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.read.requests_pd_server_1b
+      cpu_util_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_util_pd_server_1b
+      disk.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.requests_pd_server_1b
+      disk.device.write.bytes.rate_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes.rate_pd_server_1b
+      disk.device.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes.rate_pd_server_1b
+      cpu_util_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - cpu_util_pd_server_1b
+      feature_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b
+      feature_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b
+      disk.write.bytes_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.write.bytes_pd_server_1b
+      disk.device.write.bytes_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes_pd_server_1b
+      disk.device.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes_pd_server_1b
+      disk.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.iops_pd_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature_template_Vlan_vmi_1
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature_template_Vlan_vmi_1
+      end_point_packet_external_network:
+      - packet_external_network
+      - end_point
+      disk.iops_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.iops_pd_server_1b
+      disk.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes_pd_server_1b
+      binding_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b
+      disk.device.write.requests.rate_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.write.requests.rate_pd_server_1b
+      disk.device.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests.rate_pd_server_1b
+      binding_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b
+      network.outgoing.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
+      network.outgoing.bytes_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
+      link_packet_external_network:
+      - packet_external_network
+      - link
+      memory.resident_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.resident_pd_server_1b
+      attachment_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_1b_port
+      network.outgoing.packets.rate_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
+      memory.resident_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - memory.resident_pd_server_1b
+      disk.device.read.bytes_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes_pd_server_1b
+      disk.device.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes_pd_server_1b
+      attachment_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_1b_port
+      disk.ephemeral.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.ephemeral.size_pd_server_1b
+      disk.ephemeral.size_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.ephemeral.size_pd_server_1b
+      end_point_packet_internal_network:
+      - packet_internal_network
+      - end_point
+      feature_packet_internal_network:
+      - packet_internal_network
+      - feature
+      instance_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - instance_pd_server_1b
+      disk.device.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.capacity_pd_server_1b
+      instance_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - instance_pd_server_1b
+      disk.device.capacity_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.capacity_pd_server_1b
+      network.outgoing.bytes.rate_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
+      os_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - os_pd_server_1b
+      os_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - os_pd_server_1b
+      endpoint_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - endpoint_pd_server_1b
+      disk.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes_pd_server_1b
+      network.incoming.packets.rate_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
+      disk.read.bytes_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.read.bytes_pd_server_1b
+      endpoint_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - endpoint_pd_server_1b
+      network.incoming.bytes_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
+      host_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - host_pd_server_1b
+      host_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - host_pd_server_1b
+      network.incoming.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
+      disk.root.size_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.root.size_pd_server_1b
+      disk.root.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.root.size_pd_server_1b
+      memory_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory_pd_server_1b
+      disk.device.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.latency_pd_server_1b
+      memory_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - memory_pd_server_1b
+      disk.device.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.usage_pd_server_1b
+      disk.device.usage_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.usage_pd_server_1b
+      feature_packet_external_network:
+      - packet_external_network
+      - feature
+      disk.allocation_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.allocation_pd_server_1b
+      disk.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.allocation_pd_server_1b
+      binding_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_1b_port
+      disk.device.latency_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.latency_pd_server_1b
+      binding_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_1b_port
+      disk.device.read.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests.rate_pd_server_1b
+      link_packet_internal_network:
+      - packet_internal_network
+      - link
+      disk.device.read.requests.rate_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.read.requests.rate_pd_server_1b
+      disk.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests_pd_server_1b
+      disk.write.requests_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.write.requests_pd_server_1b
+      scalable_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - scalable_pd_server_1b
+      scalable_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - scalable_pd_server_1b
+      cpu.delta_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu.delta_pd_server_1b
+      cpu.delta_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - cpu.delta_pd_server_1b
+      vcpus_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - vcpus_pd_server_1b
+      disk.device.read.requests_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.device.read.requests_pd_server_1b
+      disk.device.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests_pd_server_1b
+      network.incoming.packets_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
+      vcpus_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - vcpus_pd_server_1b
+      network.incoming.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
+      disk.read.bytes.rate_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.read.bytes.rate_pd_server_1b
+      disk.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes.rate_pd_server_1b
+      memory.usage_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - memory.usage_pd_server_1b
+      memory.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.usage_pd_server_1b
+      attachment_packet_external_network:
+      - packet_external_network
+      - attachment
+      network.incoming.bytes.rate_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
+      disk.latency_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - disk.latency_pd_server_1b
+      disk.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.latency_pd_server_1b
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
+    requirements:
+      dependency_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency
+      dependency_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency
+      local_storage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - local_storage_pd_server_1b
+      dependency_packet_internal_network:
+      - packet_internal_network
+      - dependency
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency_template_Vlan_vmi_1
+      dependency_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_1b_port
+      local_storage_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - local_storage_pd_server_1b
+      dependency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b
+      dependency_server_1b_pd_1:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b
+      dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency_template_Vlan_vmi_1
+      dependency_pd_server_1b_port_1:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_1b_port
+      dependency_packet_external_network:
+      - packet_external_network
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/nested_vlanServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCScalingScenario/out/nested_vlanServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..ed59356
--- /dev/null
@@ -0,0 +1,111 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_vlan
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    vlan_ids:
+      hidden: false
+      immutable: false
+      type: string
+    parent_interface:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ipv6_address:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ip_address:
+      hidden: false
+      immutable: false
+      type: string
+    lb_st_vlan_type_oam:
+      hidden: false
+      immutable: false
+      type: string
+      description: dummy
+    mac_address:
+      hidden: false
+      immutable: false
+      type: string
+    net1:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_name_prefix:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_instance_index:
+      hidden: false
+      immutable: false
+      type: float
+  node_templates:
+    template_Vlan_vmi_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      properties:
+        virtual_machine_interface_refs:
+        - get_input: parent_interface
+        name:
+          str_replace:
+            template: $NAME$VLAN
+            params:
+              $NAME:
+                get_input: subinterface_name_prefix
+              $VLAN:
+                get_input:
+                - vlan_ids
+                - get_input: subinterface_instance_index
+        virtual_network_refs:
+        - get_input: net1
+        virtual_machine_interface_properties:
+          sub_interface_vlan_tag:
+            get_input: lb_st_vlan_type_oam
+        virtual_machine_interface_allowed_address_pairs:
+          allowed_address_pair:
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ip_address
+              ip_prefix_len: 32
+            mac:
+              get_input: mac_address
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ipv6_address
+              ip_prefix_len: 128
+            mac:
+              get_input: mac_address
+        virtual_machine_interface_mac_addresses:
+          mac_address:
+          - get_input: mac_address
+  groups:
+    nested_vlan_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_vlan.yml
+        description: cmaui server template for vMMSC
+      members:
+      - template_Vlan_vmi_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+    capabilities:
+      feature_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - feature
+    requirements:
+      link_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - link
+      dependency_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - dependency
+      binding_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - binding
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..094b809
--- /dev/null
@@ -0,0 +1,27 @@
+{
+  "name": "Nested test",
+  "description": "HOT template to create nested one level multiple compute",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true"
+    },
+    {
+      "file": "nested_pattern5.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_pattern5_levelTwo.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_vlan.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/main.yml
new file mode 100644 (file)
index 0000000..05f9526
--- /dev/null
@@ -0,0 +1,13 @@
+heat_template_version: 2013-05-23
+
+description: >
+  Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+
+parameters:
+  jsa_name:
+    type: string
+    description: network name of jsa log network
+
+resources:
+  test_nested_level1:
+    type: nested_pattern5.yml
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/nested_pattern5.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/nested_pattern5.yml
new file mode 100644 (file)
index 0000000..51be693
--- /dev/null
@@ -0,0 +1,80 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  sub_inf_net:
+      type: string
+      description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  pd_server_1b_names:
+    type: comma_delimited_list
+    description: PD server names
+  pd_server_1b_image:
+    type: string
+    description: PD Image server
+  pd_server_1b_flavor:
+    type: string
+    description: Flavor for PD server
+  pd_server_1b_ips:
+    type: string
+  pd_server_2b_ips:
+    type: string
+  packet_external_network_name:
+    type: string
+    description: network name
+  packet_internal_network_name:
+    type: string
+    description: network name
+
+resources:
+  packet_internal_network:
+      type: OS::Neutron::Net
+      properties:
+        name:
+          get_param: packet_internal_network_name
+
+  packet_external_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_external_network_name
+
+  pd_server_1b_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: packet_internal_network }
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_pd_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 0]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_0 }
+
+  test_resourceGroup_0:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port_0}
+          net1: { get_resource: packet_external_network}
+
+  test_nested_level2:
+    type: nested_pattern5_levelTwo.yml
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/nested_pattern5_levelTwo.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/nested_pattern5_levelTwo.yml
new file mode 100644 (file)
index 0000000..68afa6b
--- /dev/null
@@ -0,0 +1,94 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  sub_inf_net:
+    type: string
+    description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  ps_server_1b_names:
+    type: comma_delimited_list
+    description: Ps server names
+  ps_server_1b_image:
+    type: string
+    description: Ps Image server
+  ps_server_1b_flavor:
+    type: string
+    description: Flavor for PS server
+  ps_server_1b_ips:
+    type: string
+  ps_server_2b_ips:
+    type: string
+  packet_ext_network_name:
+    type: string
+    description: network name
+  packet_int_network_name:
+    type: string
+    description: network name
+
+resources:
+  packet_int_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_int_network_name
+
+  packet_ext_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_ext_network_name
+
+  ps_server_1b_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_int_network}
+      fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_ps_1:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [ps_server_1b_names, 1]}
+      image: { get_param: ps_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: ps_server_1b_flavor }
+      networks:
+      - port: { get_resource: ps_server_1b_port_1 }
+
+  ps_server_1b_port_2:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_int_network}
+      fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 1]}}]
+      replacement_policy: AUTO
+
+  server_1b_ps_2:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [ps_server_1b_names, 2]}
+      image: { get_param: ps_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: ps_server_1b_flavor }
+      networks:
+        - port: { get_resource: ps_server_1b_port_2 }
+
+  test_resourceGroup_1:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: ps_server_1b_port_1}
+          net1: { get_resource: packet_ext_network}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/nested_vlan.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/in/nested_vlan.yml
new file mode 100644 (file)
index 0000000..cc50a66
--- /dev/null
@@ -0,0 +1,68 @@
+heat_template_version: 2018-02-01
+
+description: cmaui server template for vMMSC
+
+parameters:
+  parent_interface:
+    type: string
+  net1:
+    type: string
+  lb_st_vlan_type_oam:
+    description: dummy
+    type: string
+  mac_address:
+    type: string
+  virtual_ip_address:
+    type: string
+  virtual_ipv6_address:
+    type: string
+  vlan_ids:
+    type: string
+  subinterface_name_prefix:
+    type: string
+  subinterface_instance_index:
+    type: number
+resources:
+
+  template_Vlan_vmi_1:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          template: $NAME$VLAN
+          params:
+            $NAME: { get_param: subinterface_name_prefix }
+            $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+      virtual_machine_interface_properties:
+        {
+          virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+        }
+      virtual_machine_interface_mac_addresses:
+        {
+        virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+        }
+      virtual_machine_interface_allowed_address_pairs:
+        {
+        virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+              }
+            },
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+              }
+            }
+          ]
+        }
+      virtual_network_refs: [{ get_param: net1 }]
+      virtual_machine_interface_refs: [{ get_param: parent_interface }]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..5edb4bf
--- /dev/null
@@ -0,0 +1,3471 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_flavor:
+        type: string
+        description: Flavor for PD server
+        required: true
+        status: SUPPORTED
+      pd_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_external_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      packet_internal_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      pd_server_1b_names:
+        type: list
+        description: PD server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_image:
+        type: string
+        description: PD Image server
+        required: true
+        status: SUPPORTED
+      pd_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_server_1b_pd_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_0:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_external_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_port_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_internal_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_1_test_nested_level2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_2_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_ext_network_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_int_network_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_2_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_2_test_nested_level2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      disk.device.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_internal_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_2_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_external_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_0:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_external_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port_0:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_internal_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_internal_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_0:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_0:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      host_server_1b_pd_0:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_2_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_external_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_0:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      host_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_internal_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_2_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_0:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_external_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.pd_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      compute_pd_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_pd_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      cpu_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_pd_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_pd_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_pd_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5_levelTwo:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      ps_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      ps_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_int_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      ps_server_1b_flavor:
+        type: string
+        description: Flavor for PS server
+        required: true
+        status: SUPPORTED
+      ps_server_1b_image:
+        type: string
+        description: Ps Image server
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      ps_server_1b_names:
+        type: list
+        description: Ps server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      packet_ext_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_server_1b_ps_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_1:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_ext_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_int_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      binding_ps_server_1b_port_2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_1:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_int_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_int_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_ext_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_1:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_1:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_int_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_1:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_1:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_ext_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_int_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_1:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_ext_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_1:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_ext_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.ps_server_1b_1:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_ps_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_ps_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      port_ps_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_ps_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_ps_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_ps_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_ps_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_ps_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_ps_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_ps_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_ps_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.ps_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_ps_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_ps_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      port_ps_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_ps_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_ps_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_ps_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_ps_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_ps_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_ps_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_ps_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_ps_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      vlan_ids:
+        type: string
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ipv6_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ip_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      lb_st_vlan_type_oam:
+        type: string
+        description: dummy
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      net1:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_name_prefix:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_instance_index:
+        type: float
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_template_Vlan_vmi_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_template_Vlan_vmi_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9fb0fbf
--- /dev/null
@@ -0,0 +1,40 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    jsa_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: jsa_name
+      type: string
+      description: network name of jsa log network
+  node_templates:
+    test_nested_level1:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_pattern5ServiceTemplate.yaml
+  groups:
+    main_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/main.yml
+        description: |
+          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+      members:
+      - test_nested_level1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/Nested_pd_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/Nested_pd_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9bea96b
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    compute_pd_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_server_1b_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_order:
+      type: integer
+      required: true
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+  node_templates:
+    pd_server_1b_pd_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b_pd_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_1b_name
+          - index_value
+    pd_server_1b_pd_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_pd_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_pd_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd_server_1b_port_mac_requirements
+        order:
+          get_input: port_pd_server_1b_port_order
+        network_role:
+          get_input: port_pd_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_pd_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_pd_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_pd_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server_1b
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
+      host_pd_server_1b:
+      - pd_server_1b
+      - host
+      disk.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes.rate
+      disk.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.allocation
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
+      cpu.delta_pd_server_1b:
+      - pd_server_1b
+      - cpu.delta
+      forwarder_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - forwarder
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
+      disk.device.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests
+      feature_pd_server_1b:
+      - pd_server_1b
+      - feature
+      disk.device.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
+      cpu_pd_server_1b:
+      - pd_server_1b
+      - cpu
+      disk.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes.rate
+      disk.device.read.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests.rate
+      endpoint_pd_server_1b:
+      - pd_server_1b
+      - endpoint
+      disk.device.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.device.allocation
+      memory.usage_pd_server_1b:
+      - pd_server_1b
+      - memory.usage
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
+      memory_pd_server_1b:
+      - pd_server_1b
+      - memory
+      disk.device.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.device.latency
+      disk.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes
+      disk.device.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
+      disk.device.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests
+      disk.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.latency
+      disk.ephemeral.size_pd_server_1b:
+      - pd_server_1b
+      - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
+      scalable_pd_server_1b:
+      - pd_server_1b
+      - scalable
+      disk.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+      disk.device.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes.rate
+      disk.root.size_pd_server_1b:
+      - pd_server_1b
+      - disk.root.size
+      disk.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.iops
+      disk.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes
+      os_pd_server_1b:
+      - pd_server_1b
+      - os
+      vcpus_pd_server_1b:
+      - pd_server_1b
+      - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
+      instance_pd_server_1b:
+      - pd_server_1b
+      - instance
+      binding_pd_server_1b:
+      - pd_server_1b
+      - binding
+      cpu_util_pd_server_1b:
+      - pd_server_1b
+      - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
+      memory.resident_pd_server_1b:
+      - pd_server_1b
+      - memory.resident
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets
+      disk.device.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests.rate
+      disk.device.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.device.capacity
+      disk.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.read.requests
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
+      disk.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.capacity
+      disk.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.usage
+      disk.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests.rate
+    requirements:
+      link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_pd_server_1b:
+      - pd_server_1b
+      - dependency
+      local_storage_pd_server_1b:
+      - pd_server_1b
+      - local_storage
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - link
+      dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency
+      dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/Nested_ps_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/Nested_ps_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..5c43ad9
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_ps_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_ps_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_ps_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_ps_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_ps_server_1b_port_order:
+      type: integer
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    vm_image_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_network_role:
+      type: string
+      required: true
+    port_ps_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+    compute_ps_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_ps_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    ps_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_ps_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_ps_server_1b_name
+          - index_value
+    ps_server_1b_ps_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b_ps_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    ps_server_1b_ps_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_ps_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_ps_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_ps_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_ps_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_ps_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_ps_server_1b_port_mac_requirements
+        order:
+          get_input: port_ps_server_1b_port_order
+        network_role:
+          get_input: port_ps_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_ps_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_ps_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_ps_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.ps_server_1b
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes.rate
+      disk.device.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.device.usage
+      disk.device.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.device.allocation
+      disk.device.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests
+      cpu_util_ps_server_1b:
+      - ps_server_1b
+      - cpu_util
+      scalable_ps_server_1b:
+      - ps_server_1b
+      - scalable
+      disk.device.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.device.latency
+      disk.device.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.device.iops
+      attachment_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - attachment
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.packets.rate
+      disk.device.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.device.capacity
+      forwarder_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - forwarder
+      instance_ps_server_1b:
+      - ps_server_1b
+      - instance
+      cpu_ps_server_1b:
+      - ps_server_1b
+      - cpu
+      disk.device.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes
+      disk.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes.rate
+      disk.device.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests
+      host_ps_server_1b:
+      - ps_server_1b
+      - host
+      disk.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.usage
+      disk.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.read.requests
+      feature_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - feature
+      disk.device.read.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests.rate
+      disk.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.capacity
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes
+      disk.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests.rate
+      disk.device.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes
+      disk.device.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests.rate
+      disk.root.size_ps_server_1b:
+      - ps_server_1b
+      - disk.root.size
+      binding_ps_server_1b:
+      - ps_server_1b
+      - binding
+      memory.resident_ps_server_1b:
+      - ps_server_1b
+      - memory.resident
+      memory_ps_server_1b:
+      - ps_server_1b
+      - memory
+      disk.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes.rate
+      disk.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets.rate
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes.rate
+      feature_ps_server_1b:
+      - ps_server_1b
+      - feature
+      os_ps_server_1b:
+      - ps_server_1b
+      - os
+      disk.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.iops
+      disk.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.allocation
+      disk.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outpoing.packets
+      memory.usage_ps_server_1b:
+      - ps_server_1b
+      - memory.usage
+      disk.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.latency
+      endpoint_ps_server_1b:
+      - ps_server_1b
+      - endpoint
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes.rate
+      feature_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - feature
+      vcpus_ps_server_1b:
+      - ps_server_1b
+      - vcpus
+      cpu.delta_ps_server_1b:
+      - ps_server_1b
+      - cpu.delta
+      disk.ephemeral.size_ps_server_1b:
+      - ps_server_1b
+      - disk.ephemeral.size
+      binding_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - binding
+      feature_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+    requirements:
+      dependency_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      local_storage_ps_server_1b:
+      - ps_server_1b
+      - local_storage
+      dependency_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - dependency
+      dependency_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - dependency
+      link_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - link
+      link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_ps_server_1b:
+      - ps_server_1b
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/Nested_ps_server_1b_1ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/Nested_ps_server_1b_1ServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..5321386
--- /dev/null
@@ -0,0 +1,306 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_ps_server_1b_1
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_ps_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_ps_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_ps_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_ps_server_1b_port_order:
+      type: integer
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_ps_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    vm_image_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_network_role:
+      type: string
+      required: true
+    port_ps_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+    compute_ps_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_ps_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    ps_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_ps_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_ps_server_1b_name
+          - index_value
+    ps_server_1b_ps_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_ps_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_ps_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_ps_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_ps_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_ps_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_ps_server_1b_port_mac_requirements
+        order:
+          get_input: port_ps_server_1b_port_order
+        network_role:
+          get_input: port_ps_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_ps_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_ps_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_ps_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.ps_server_1b_1
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes.rate
+      disk.device.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.device.usage
+      disk.device.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.device.allocation
+      disk.device.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests
+      cpu_util_ps_server_1b:
+      - ps_server_1b
+      - cpu_util
+      scalable_ps_server_1b:
+      - ps_server_1b
+      - scalable
+      disk.device.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.device.latency
+      disk.device.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.device.iops
+      attachment_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - attachment
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.packets.rate
+      disk.device.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.device.capacity
+      forwarder_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - forwarder
+      instance_ps_server_1b:
+      - ps_server_1b
+      - instance
+      cpu_ps_server_1b:
+      - ps_server_1b
+      - cpu
+      disk.device.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes
+      disk.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes.rate
+      disk.device.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests
+      host_ps_server_1b:
+      - ps_server_1b
+      - host
+      disk.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.usage
+      disk.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.read.requests
+      disk.device.read.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests.rate
+      disk.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.capacity
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes
+      disk.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests.rate
+      disk.device.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes
+      disk.device.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests.rate
+      disk.root.size_ps_server_1b:
+      - ps_server_1b
+      - disk.root.size
+      binding_ps_server_1b:
+      - ps_server_1b
+      - binding
+      memory.resident_ps_server_1b:
+      - ps_server_1b
+      - memory.resident
+      memory_ps_server_1b:
+      - ps_server_1b
+      - memory
+      disk.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes.rate
+      disk.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets.rate
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes.rate
+      feature_ps_server_1b:
+      - ps_server_1b
+      - feature
+      os_ps_server_1b:
+      - ps_server_1b
+      - os
+      disk.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.iops
+      disk.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.allocation
+      disk.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outpoing.packets
+      memory.usage_ps_server_1b:
+      - ps_server_1b
+      - memory.usage
+      disk.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.latency
+      endpoint_ps_server_1b:
+      - ps_server_1b
+      - endpoint
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes.rate
+      feature_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - feature
+      vcpus_ps_server_1b:
+      - ps_server_1b
+      - vcpus
+      cpu.delta_ps_server_1b:
+      - ps_server_1b
+      - cpu.delta
+      disk.ephemeral.size_ps_server_1b:
+      - ps_server_1b
+      - disk.ephemeral.size
+      binding_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - binding
+    requirements:
+      local_storage_ps_server_1b:
+      - ps_server_1b
+      - local_storage
+      dependency_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - dependency
+      link_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - link
+      dependency_ps_server_1b:
+      - ps_server_1b
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/nested_pattern5ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/nested_pattern5ServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9e29f61
--- /dev/null
@@ -0,0 +1,754 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    pd_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PD server
+    pd_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_external_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    packet_internal_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    pd_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: PD server names
+      entry_schema:
+        type: string
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    pd_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: PD Image server
+    pd_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+  node_templates:
+    packet_external_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_external_network_name
+    packet_internal_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_internal_network_name
+    test_nested_level2:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5_levelTwo
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_pattern5_levelTwoServiceTemplate.yaml
+    abstract_pd_server_1b:
+      type: org.openecomp.resource.abstract.nodes.pd_server_1b
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_1b_name:
+        - get_input:
+          - pd_server_1b_names
+          - 0
+        vm_flavor_name:
+          get_input: pd_server_1b_flavor
+        subinterface_nested_vlan_net1:
+        - packet_external_network
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        subinterface_nested_vlan_parent_interface:
+        - pd_server_1b_port_0
+        port_pd_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - pd_server_1b_ips
+            - 0
+        port_pd_server_1b_port_network:
+        - packet_internal_network
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        service_template_filter:
+          substitute_service_template: Nested_pd_server_1bServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_pd_server_1b_pd_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_internal_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_external_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    nested_pattern5_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5.yml
+        description: nested1
+      members:
+      - packet_external_network
+      - packet_internal_network
+      - test_nested_level2
+      - abstract_pd_server_1b
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+    capabilities:
+      disk.device.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes.rate_server_1b_ps_1
+      network.outgoing.packets.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.packets.rate_ps_server_1b_port_2
+      scalable_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - scalable_server_1b_ps_1
+      end_point_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - end_point_packet_ext_network
+      disk.capacity_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.capacity_server_1b_ps_2
+      disk.device.latency_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.latency_server_1b_ps_2
+      disk.device.write.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes_server_1b_ps_2
+      disk.device.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests_pd_server_1b
+      disk.read.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.read.requests_server_1b_ps_2
+      endpoint_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - endpoint_server_1b_ps_2
+      disk.iops_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.iops_server_1b_ps_2
+      disk.device.read.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes_server_1b_ps_1
+      feature_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - feature_packet_ext_network
+      forwarder_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - forwarder_ps_server_1b_port_1
+      forwarder_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_1b_port
+      disk.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.capacity_pd_server_1b
+      network.outpoing.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
+      cpu_util_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - cpu_util_server_1b_ps_2
+      network.incoming.packets_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets_ps_server_1b_port_1
+      feature_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_1b_port
+      memory_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory_server_1b_ps_1
+      link_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - link_packet_int_network
+      os_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - os_server_1b_ps_1
+      network.incoming.bytes_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes_ps_server_1b_port_2
+      disk.root.size_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.root.size_server_1b_ps_1
+      attachment_packet_internal_network:
+      - packet_internal_network
+      - attachment
+      disk.device.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.allocation_pd_server_1b
+      feature_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature
+      feature_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - feature_packet_int_network
+      disk.write.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests_server_1b_ps_1
+      cpu_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_pd_server_1b
+      disk.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests.rate_pd_server_1b
+      network.incoming.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes.rate_ps_server_1b_port_2
+      disk.latency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.latency_server_1b_ps_1
+      disk.device.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes.rate_pd_server_1b
+      feature_test_nested_level2:
+      - test_nested_level2
+      - feature
+      disk.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes.rate_pd_server_1b
+      disk.device.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.usage_server_1b_ps_1
+      disk.device.read.requests.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests.rate_server_1b_ps_2
+      disk.read.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes_server_1b_ps_1
+      disk.read.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes_server_1b_ps_2
+      cpu_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu_server_1b_ps_1
+      disk.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.usage_pd_server_1b
+      disk.ephemeral.size_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.ephemeral.size_server_1b_ps_2
+      end_point_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - end_point_packet_int_network
+      disk.device.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.iops_pd_server_1b
+      disk.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes.rate_server_1b_ps_1
+      scalable_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - scalable_server_1b_ps_2
+      cpu_util_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_util_pd_server_1b
+      disk.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.requests_pd_server_1b
+      disk.device.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes.rate_pd_server_1b
+      vcpus_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - vcpus_server_1b_ps_1
+      disk.device.write.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes_server_1b_ps_1
+      feature_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - feature_server_1b_ps_2
+      disk.iops_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.iops_server_1b_ps_1
+      disk.device.read.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes_server_1b_ps_2
+      feature_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b
+      disk.device.write.requests.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests.rate_server_1b_ps_2
+      disk.device.write.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests_server_1b_ps_2
+      disk.capacity_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.capacity_server_1b_ps_1
+      feature_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - feature_ps_server_1b_port_2
+      disk.allocation_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.allocation_server_1b_ps_1
+      network.outgoing.bytes_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes_ps_server_1b_port_2
+      endpoint_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - endpoint_server_1b_ps_1
+      disk.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.usage_server_1b_ps_1
+      disk.device.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes_pd_server_1b
+      disk.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.iops_pd_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature_template_Vlan_vmi_1
+      end_point_packet_external_network:
+      - packet_external_network
+      - end_point
+      forwarder_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - forwarder_ps_server_1b_port_2
+      disk.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes_pd_server_1b
+      cpu.delta_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - cpu.delta_server_1b_ps_2
+      instance_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - instance_server_1b_ps_2
+      disk.device.capacity_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.capacity_server_1b_ps_2
+      binding_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b
+      disk.device.read.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests_server_1b_ps_2
+      disk.device.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests.rate_pd_server_1b
+      disk.device.iops_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.iops_server_1b_ps_2
+      feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - feature_template_Vlan_vmi_1_test_resourceGroup_1
+      network.outgoing.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
+      disk.read.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.requests_server_1b_ps_1
+      memory.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory.usage_server_1b_ps_1
+      link_packet_external_network:
+      - packet_external_network
+      - link
+      memory.usage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - memory.usage_server_1b_ps_2
+      disk.device.iops_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.iops_server_1b_ps_1
+      memory.resident_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.resident_pd_server_1b
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
+      disk.device.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes_pd_server_1b
+      feature_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - feature_server_1b_ps_1
+      vcpus_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - vcpus_server_1b_ps_2
+      attachment_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_1b_port
+      attachment_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - attachment_packet_ext_network
+      disk.device.write.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests.rate_server_1b_ps_1
+      host_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - host_server_1b_ps_1
+      disk.ephemeral.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.ephemeral.size_pd_server_1b
+      network.outgoing.bytes_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes_ps_server_1b_port_1
+      disk.write.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes_server_1b_ps_1
+      end_point_packet_internal_network:
+      - packet_internal_network
+      - end_point
+      attachment_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - attachment_ps_server_1b_port_1
+      feature_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - feature_ps_server_1b_port_1
+      feature_packet_internal_network:
+      - packet_internal_network
+      - feature
+      cpu.delta_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu.delta_server_1b_ps_1
+      disk.device.write.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests_server_1b_ps_1
+      disk.device.capacity_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.capacity_server_1b_ps_1
+      disk.usage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.usage_server_1b_ps_2
+      instance_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - instance_pd_server_1b
+      disk.device.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.capacity_pd_server_1b
+      disk.root.size_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.root.size_server_1b_ps_2
+      disk.device.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes.rate_server_1b_ps_1
+      instance_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - instance_server_1b_ps_1
+      network.outgoing.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes.rate_ps_server_1b_port_1
+      network.incoming.packets.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets.rate_ps_server_1b_port_1
+      disk.device.read.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests_server_1b_ps_1
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.packets_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets_ps_server_1b_port_2
+      os_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - os_pd_server_1b
+      network.incoming.bytes_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes_ps_server_1b_port_1
+      endpoint_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - endpoint_pd_server_1b
+      disk.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes_pd_server_1b
+      cpu_util_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu_util_server_1b_ps_1
+      disk.write.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests_server_1b_ps_2
+      disk.latency_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.latency_server_1b_ps_2
+      binding_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - binding_server_1b_ps_1
+      disk.device.usage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.usage_server_1b_ps_2
+      network.incoming.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes.rate_ps_server_1b_port_1
+      binding_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - binding_ps_server_1b_port_1
+      host_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - host_pd_server_1b
+      attachment_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - attachment_packet_int_network
+      network.incoming.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
+      disk.root.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.root.size_pd_server_1b
+      binding_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - binding_ps_server_1b_port_2
+      disk.ephemeral.size_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.ephemeral.size_server_1b_ps_1
+      disk.allocation_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.allocation_server_1b_ps_2
+      memory_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory_pd_server_1b
+      disk.device.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.latency_pd_server_1b
+      binding_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - binding_server_1b_ps_2
+      disk.device.read.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests.rate_server_1b_ps_1
+      disk.device.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.usage_pd_server_1b
+      cpu_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - cpu_server_1b_ps_2
+      feature_packet_external_network:
+      - packet_external_network
+      - feature
+      memory.resident_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - memory.resident_server_1b_ps_2
+      memory.resident_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory.resident_server_1b_ps_1
+      disk.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes.rate_server_1b_ps_2
+      disk.device.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes.rate_server_1b_ps_2
+      network.outgoing.packets.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.packets.rate_ps_server_1b_port_1
+      disk.device.latency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.latency_server_1b_ps_1
+      disk.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.allocation_pd_server_1b
+      link_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - link_packet_ext_network
+      disk.write.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes_server_1b_ps_2
+      binding_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_1b_port
+      host_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - host_server_1b_ps_2
+      disk.device.read.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests.rate_pd_server_1b
+      link_packet_internal_network:
+      - packet_internal_network
+      - link
+      network.incoming.packets.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets.rate_ps_server_1b_port_2
+      disk.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests_pd_server_1b
+      attachment_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - attachment_ps_server_1b_port_2
+      disk.device.allocation_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.allocation_server_1b_ps_1
+      disk.device.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes.rate_server_1b_ps_2
+      scalable_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - scalable_pd_server_1b
+      memory_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - memory_server_1b_ps_2
+      network.outgoing.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes.rate_ps_server_1b_port_2
+      os_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - os_server_1b_ps_2
+      cpu.delta_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu.delta_pd_server_1b
+      disk.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes.rate_server_1b_ps_1
+      feature_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - feature_test_resourceGroup_1
+      disk.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes.rate_server_1b_ps_2
+      disk.device.allocation_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.allocation_server_1b_ps_2
+      vcpus_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - vcpus_pd_server_1b
+      disk.device.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests_pd_server_1b
+      network.incoming.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
+      disk.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes.rate_pd_server_1b
+      memory.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.usage_pd_server_1b
+      attachment_packet_external_network:
+      - packet_external_network
+      - attachment
+      network.outpoing.packets_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outpoing.packets_ps_server_1b_port_1
+      disk.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.latency_pd_server_1b
+      network.outpoing.packets_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outpoing.packets_ps_server_1b_port_2
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
+      disk.write.requests.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests.rate_server_1b_ps_2
+      disk.write.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests.rate_server_1b_ps_1
+    requirements:
+      dependency_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - dependency_server_1b_ps_2
+      dependency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_server_1b_ps_1
+      dependency_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_ps_server_1b_port_1
+      dependency_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_1b_port
+      dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency_template_Vlan_vmi_1
+      dependency_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - dependency_ps_server_1b_port_2
+      dependency_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency
+      dependency_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_test_resourceGroup_1
+      local_storage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - local_storage_pd_server_1b
+      local_storage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - local_storage_server_1b_ps_1
+      dependency_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - dependency_packet_int_network
+      local_storage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - local_storage_server_1b_ps_2
+      dependency_packet_internal_network:
+      - packet_internal_network
+      - dependency
+      dependency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_template_Vlan_vmi_1_test_resourceGroup_1
+      dependency_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - dependency_packet_ext_network
+      dependency_test_nested_level2:
+      - test_nested_level2
+      - dependency
+      dependency_packet_external_network:
+      - packet_external_network
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..8cf3f5d
--- /dev/null
@@ -0,0 +1,582 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5_levelTwo
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    ps_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    ps_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_int_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    ps_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PS server
+    ps_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: Ps Image server
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    ps_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: Ps server names
+      entry_schema:
+        type: string
+    packet_ext_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+  node_templates:
+    packet_ext_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_ext_network_name
+    packet_int_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_int_network_name
+    abstract_ps_server_1b_1:
+      type: org.openecomp.resource.abstract.nodes.ps_server_1b_1
+      directives:
+      - substitutable
+      properties:
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_ps_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - ps_server_1b_ips
+            - 1
+        vm_flavor_name:
+          get_input: ps_server_1b_flavor
+        port_ps_server_1b_port_network:
+        - packet_int_network
+        port_ps_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        vm_image_name:
+          get_input: ps_server_1b_image
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
+        compute_ps_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        compute_ps_server_1b_name:
+        - get_input:
+          - ps_server_1b_names
+          - 2
+        service_template_filter:
+          substitute_service_template: Nested_ps_server_1b_1ServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_ps_server_1b_ps_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_int_network
+          relationship: tosca.relationships.network.LinksTo
+    abstract_ps_server_1b:
+      type: org.openecomp.resource.abstract.nodes.ps_server_1b
+      directives:
+      - substitutable
+      properties:
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_ps_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - ps_server_1b_ips
+            - 0
+        vm_flavor_name:
+          get_input: ps_server_1b_flavor
+        port_ps_server_1b_port_network:
+        - packet_int_network
+        subinterface_nested_vlan_net1:
+        - packet_ext_network
+        port_ps_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        vm_image_name:
+          get_input: ps_server_1b_image
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
+        subinterface_nested_vlan_parent_interface:
+        - ps_server_1b_port_1
+        compute_ps_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        compute_ps_server_1b_name:
+        - get_input:
+          - ps_server_1b_names
+          - 1
+        service_template_filter:
+          substitute_service_template: Nested_ps_server_1bServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_ps_server_1b_ps_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_int_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_ext_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    nested_pattern5_levelTwo_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5_levelTwo.yml
+        description: nested1
+      members:
+      - packet_ext_network
+      - packet_int_network
+      - abstract_ps_server_1b
+      - abstract_ps_server_1b_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5_levelTwo
+    capabilities:
+      binding_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - binding_ps_server_1b_ps_server_1b_port
+      disk.device.latency_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.latency_ps_server_1b
+      disk.device.usage_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.usage_ps_server_1b
+      disk.device.usage_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.usage_ps_server_1b
+      disk.read.requests_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.read.requests_ps_server_1b
+      disk.device.write.requests.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.write.requests.rate_ps_server_1b
+      disk.read.requests_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.read.requests_ps_server_1b
+      disk.device.write.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.write.requests.rate_ps_server_1b
+      binding_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b_ps_server_1b_port
+      disk.read.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.read.bytes_ps_server_1b
+      disk.read.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.read.bytes_ps_server_1b
+      disk.device.latency_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.latency_ps_server_1b
+      disk.root.size_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.root.size_ps_server_1b
+      network.incoming.bytes.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.root.size_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.root.size_ps_server_1b
+      network.incoming.bytes.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.device.read.requests.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.read.requests.rate_ps_server_1b
+      disk.device.read.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.read.requests.rate_ps_server_1b
+      feature_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature
+      network.incoming.bytes_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
+      network.incoming.bytes_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
+      attachment_packet_int_network:
+      - packet_int_network
+      - attachment
+      cpu.delta_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - cpu.delta_ps_server_1b
+      memory.resident_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - memory.resident_ps_server_1b
+      cpu.delta_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - cpu.delta_ps_server_1b
+      memory.resident_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - memory.resident_ps_server_1b
+      cpu_util_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - cpu_util_ps_server_1b
+      disk.device.write.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.write.bytes.rate_ps_server_1b
+      disk.device.write.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes.rate_ps_server_1b
+      cpu_util_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - cpu_util_ps_server_1b
+      disk.ephemeral.size_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.ephemeral.size_ps_server_1b
+      disk.ephemeral.size_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.ephemeral.size_ps_server_1b
+      disk.capacity_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.capacity_ps_server_1b
+      memory_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - memory_ps_server_1b
+      network.outgoing.packets.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
+      disk.capacity_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.capacity_ps_server_1b
+      memory_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - memory_ps_server_1b
+      instance_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - instance_ps_server_1b
+      forwarder_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - forwarder_ps_server_1b_ps_server_1b_port
+      forwarder_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - forwarder_ps_server_1b_ps_server_1b_port
+      network.outgoing.packets.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
+      link_packet_int_network:
+      - packet_int_network
+      - link
+      instance_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - instance_ps_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature_template_Vlan_vmi_1
+      disk.device.capacity_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.capacity_ps_server_1b
+      end_point_packet_ext_network:
+      - packet_ext_network
+      - end_point
+      disk.device.capacity_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.capacity_ps_server_1b
+      network.incoming.packets_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
+      disk.device.iops_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.iops_ps_server_1b
+      disk.device.iops_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.iops_ps_server_1b
+      network.incoming.packets_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
+      network.outgoing.bytes.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
+      network.outpoing.packets_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
+      network.outpoing.packets_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
+      endpoint_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - endpoint_ps_server_1b
+      disk.device.allocation_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.allocation_ps_server_1b
+      endpoint_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - endpoint_ps_server_1b
+      disk.write.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.write.requests.rate_ps_server_1b
+      disk.write.requests.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.write.requests.rate_ps_server_1b
+      host_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - host_ps_server_1b
+      host_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - host_ps_server_1b
+      feature_packet_int_network:
+      - packet_int_network
+      - feature
+      network.outgoing.bytes.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.write.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.write.bytes.rate_ps_server_1b
+      disk.write.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.write.bytes_ps_server_1b
+      disk.device.write.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.write.bytes_ps_server_1b
+      disk.device.write.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.write.bytes_ps_server_1b
+      disk.write.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.write.bytes_ps_server_1b
+      disk.write.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.write.bytes.rate_ps_server_1b
+      disk.device.allocation_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.allocation_ps_server_1b
+      scalable_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - scalable_ps_server_1b
+      scalable_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - scalable_ps_server_1b
+      disk.allocation_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.allocation_ps_server_1b
+      disk.allocation_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.allocation_ps_server_1b
+      feature_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - feature_ps_server_1b
+      feature_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b
+      vcpus_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - vcpus_ps_server_1b
+      vcpus_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - vcpus_ps_server_1b
+      disk.read.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.read.bytes.rate_ps_server_1b
+      disk.read.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.read.bytes.rate_ps_server_1b
+      disk.iops_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.iops_ps_server_1b
+      memory.usage_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - memory.usage_ps_server_1b
+      memory.usage_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - memory.usage_ps_server_1b
+      disk.iops_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.iops_ps_server_1b
+      disk.write.requests_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.write.requests_ps_server_1b
+      disk.write.requests_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.write.requests_ps_server_1b
+      network.incoming.packets.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
+      disk.latency_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.latency_ps_server_1b
+      disk.latency_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.latency_ps_server_1b
+      network.incoming.packets.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
+      binding_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - binding_ps_server_1b
+      link_packet_ext_network:
+      - packet_ext_network
+      - link
+      binding_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - binding_ps_server_1b
+      disk.device.write.requests_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.write.requests_ps_server_1b
+      disk.device.read.requests_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.read.requests_ps_server_1b
+      disk.device.write.requests_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.write.requests_ps_server_1b
+      disk.device.read.requests_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.read.requests_ps_server_1b
+      end_point_packet_int_network:
+      - packet_int_network
+      - end_point
+      attachment_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - attachment_ps_server_1b_ps_server_1b_port
+      attachment_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - attachment_ps_server_1b_ps_server_1b_port
+      attachment_packet_ext_network:
+      - packet_ext_network
+      - attachment
+      os_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - os_ps_server_1b
+      os_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - os_ps_server_1b
+      network.outgoing.bytes_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
+      network.outgoing.bytes_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
+      disk.usage_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.usage_ps_server_1b
+      disk.usage_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.usage_ps_server_1b
+      disk.device.read.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.read.bytes_ps_server_1b
+      disk.device.read.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes_ps_server_1b
+      cpu_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - cpu_ps_server_1b
+      cpu_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - cpu_ps_server_1b
+      feature_packet_ext_network:
+      - packet_ext_network
+      - feature
+      feature_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - feature_ps_server_1b_ps_server_1b_port
+      feature_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - feature_ps_server_1b_ps_server_1b_port
+      disk.device.read.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - disk.device.read.bytes.rate_ps_server_1b
+      disk.device.read.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.read.bytes.rate_ps_server_1b
+    requirements:
+      dependency_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency
+      dependency_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - dependency_ps_server_1b_ps_server_1b_port
+      dependency_ps_server_1b_port_1:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b_ps_server_1b_port
+      dependency_packet_int_network:
+      - packet_int_network
+      - dependency
+      local_storage_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - local_storage_ps_server_1b
+      dependency_packet_ext_network:
+      - packet_ext_network
+      - dependency
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency_template_Vlan_vmi_1
+      local_storage_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - local_storage_ps_server_1b
+      dependency_server_1b_ps_1:
+      - abstract_ps_server_1b
+      - dependency_ps_server_1b
+      dependency_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - dependency_ps_server_1b
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/nested_vlanServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfConnectivityScenario/out/nested_vlanServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..ed59356
--- /dev/null
@@ -0,0 +1,111 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_vlan
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    vlan_ids:
+      hidden: false
+      immutable: false
+      type: string
+    parent_interface:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ipv6_address:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ip_address:
+      hidden: false
+      immutable: false
+      type: string
+    lb_st_vlan_type_oam:
+      hidden: false
+      immutable: false
+      type: string
+      description: dummy
+    mac_address:
+      hidden: false
+      immutable: false
+      type: string
+    net1:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_name_prefix:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_instance_index:
+      hidden: false
+      immutable: false
+      type: float
+  node_templates:
+    template_Vlan_vmi_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      properties:
+        virtual_machine_interface_refs:
+        - get_input: parent_interface
+        name:
+          str_replace:
+            template: $NAME$VLAN
+            params:
+              $NAME:
+                get_input: subinterface_name_prefix
+              $VLAN:
+                get_input:
+                - vlan_ids
+                - get_input: subinterface_instance_index
+        virtual_network_refs:
+        - get_input: net1
+        virtual_machine_interface_properties:
+          sub_interface_vlan_tag:
+            get_input: lb_st_vlan_type_oam
+        virtual_machine_interface_allowed_address_pairs:
+          allowed_address_pair:
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ip_address
+              ip_prefix_len: 32
+            mac:
+              get_input: mac_address
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ipv6_address
+              ip_prefix_len: 128
+            mac:
+              get_input: mac_address
+        virtual_machine_interface_mac_addresses:
+          mac_address:
+          - get_input: mac_address
+  groups:
+    nested_vlan_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_vlan.yml
+        description: cmaui server template for vMMSC
+      members:
+      - template_Vlan_vmi_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+    capabilities:
+      feature_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - feature
+    requirements:
+      link_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - link
+      dependency_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - dependency
+      binding_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - binding
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..094b809
--- /dev/null
@@ -0,0 +1,27 @@
+{
+  "name": "Nested test",
+  "description": "HOT template to create nested one level multiple compute",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true"
+    },
+    {
+      "file": "nested_pattern5.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_pattern5_levelTwo.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    },
+    {
+      "file": "nested_vlan.yml",
+      "type": "HEAT",
+      "isBase": "false"
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/main.yml
new file mode 100644 (file)
index 0000000..05f9526
--- /dev/null
@@ -0,0 +1,13 @@
+heat_template_version: 2013-05-23
+
+description: >
+  Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+
+parameters:
+  jsa_name:
+    type: string
+    description: network name of jsa log network
+
+resources:
+  test_nested_level1:
+    type: nested_pattern5.yml
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/nested_pattern5.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/nested_pattern5.yml
new file mode 100644 (file)
index 0000000..51be693
--- /dev/null
@@ -0,0 +1,80 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  sub_inf_net:
+      type: string
+      description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  pd_server_1b_names:
+    type: comma_delimited_list
+    description: PD server names
+  pd_server_1b_image:
+    type: string
+    description: PD Image server
+  pd_server_1b_flavor:
+    type: string
+    description: Flavor for PD server
+  pd_server_1b_ips:
+    type: string
+  pd_server_2b_ips:
+    type: string
+  packet_external_network_name:
+    type: string
+    description: network name
+  packet_internal_network_name:
+    type: string
+    description: network name
+
+resources:
+  packet_internal_network:
+      type: OS::Neutron::Net
+      properties:
+        name:
+          get_param: packet_internal_network_name
+
+  packet_external_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_external_network_name
+
+  pd_server_1b_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: packet_internal_network }
+      fixed_ips: [{"ip_address": {get_param: [pd_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_pd_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [pd_server_1b_names, 0]}
+      image: { get_param: pd_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: pd_server_1b_flavor }
+      networks:
+      - port: { get_resource: pd_server_1b_port_0 }
+
+  test_resourceGroup_0:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: pd_server_1b_port_0}
+          net1: { get_resource: packet_external_network}
+
+  test_nested_level2:
+    type: nested_pattern5_levelTwo.yml
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/nested_pattern5_levelTwo.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/nested_pattern5_levelTwo.yml
new file mode 100644 (file)
index 0000000..dc8f67e
--- /dev/null
@@ -0,0 +1,104 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+  security_group_name:
+    type: comma_delimited_list
+    description: CMAUI1, CMAUI2 server names
+  availability_zone_0:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  sub_inf_net:
+    type: string
+    description: sub interface network
+  port_net:
+    type: string
+    description: port network
+  ps_server_1b_names:
+    type: comma_delimited_list
+    description: Ps server names
+  ps_server_1b_image:
+    type: string
+    description: Ps Image server
+  ps_server_1b_flavor:
+    type: string
+    description: Flavor for PS server
+  ps_server_1b_ips:
+    type: string
+  ps_server_2b_ips:
+    type: string
+  packet_ext_network_name:
+    type: string
+    description: network name
+  packet_int_network_name:
+    type: string
+    description: network name
+
+resources:
+  packet_int_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_int_network_name
+
+  packet_ext_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        get_param: packet_ext_network_name
+
+  ps_server_1b_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_int_network}
+      fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 0]}}]
+      replacement_policy: AUTO
+
+  server_1b_ps_1:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [ps_server_1b_names, 1]}
+      image: { get_param: ps_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: ps_server_1b_flavor }
+      networks:
+      - port: { get_resource: ps_server_1b_port_1 }
+
+  ps_server_1b_port_2:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: packet_int_network}
+      fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 1]}}]
+      replacement_policy: AUTO
+
+  server_1b_ps_2:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: [ps_server_1b_names, 2]}
+      image: { get_param: ps_server_1b_image }
+      availability_zone: { get_param: availability_zone_0 }
+      flavor: { get_param: ps_server_1b_flavor }
+      networks:
+        - port: { get_resource: ps_server_1b_port_2 }
+
+  test_resourceGroup_1:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: ps_server_1b_port_1}
+          net1: { get_resource: packet_ext_network}
+
+  test_resourceGroup_2:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 19
+      resource_def:
+        type: nested_vlan.yml
+        properties:
+          parent_interface: { get_resource: ps_server_1b_port_2}
+          net1: { get_resource: packet_ext_network}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/nested_vlan.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/in/nested_vlan.yml
new file mode 100644 (file)
index 0000000..cc50a66
--- /dev/null
@@ -0,0 +1,68 @@
+heat_template_version: 2018-02-01
+
+description: cmaui server template for vMMSC
+
+parameters:
+  parent_interface:
+    type: string
+  net1:
+    type: string
+  lb_st_vlan_type_oam:
+    description: dummy
+    type: string
+  mac_address:
+    type: string
+  virtual_ip_address:
+    type: string
+  virtual_ipv6_address:
+    type: string
+  vlan_ids:
+    type: string
+  subinterface_name_prefix:
+    type: string
+  subinterface_instance_index:
+    type: number
+resources:
+
+  template_Vlan_vmi_1:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          template: $NAME$VLAN
+          params:
+            $NAME: { get_param: subinterface_name_prefix }
+            $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+      virtual_machine_interface_properties:
+        {
+          virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+        }
+      virtual_machine_interface_mac_addresses:
+        {
+        virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+        }
+      virtual_machine_interface_allowed_address_pairs:
+        {
+        virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+              }
+            },
+            {
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              {
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+                virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+              }
+            }
+          ]
+        }
+      virtual_network_refs: [{ get_param: net1 }]
+      virtual_machine_interface_refs: [{ get_param: parent_interface }]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..4b63486
--- /dev/null
@@ -0,0 +1,3093 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_flavor:
+        type: string
+        description: Flavor for PD server
+        required: true
+        status: SUPPORTED
+      pd_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_external_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      packet_internal_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      pd_server_1b_names:
+        type: list
+        description: PD server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      pd_server_1b_image:
+        type: string
+        description: PD Image server
+        required: true
+        status: SUPPORTED
+      pd_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_server_1b_pd_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_pd_0:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_external_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_port_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_internal_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_1_test_nested_level2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_2_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_1_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_2_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_ext_network_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_int_network_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_2_test_nested_level2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_2_test_nested_level2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      disk.device.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_port_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_internal_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_pd_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_2_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_external_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_pd_0:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_external_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_port_0:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_internal_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_internal_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_pd_0:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_pd_0:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_1_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_1_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      host_server_1b_pd_0:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_int_network_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_2_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_external_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_ext_network_test_nested_level2:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_port_0:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      host_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_internal_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_2_test_nested_level2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_pd_0:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_2_test_nested_level2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_2_test_nested_level2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_external_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_pd_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_2_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_1_test_nested_level2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.pd_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      compute_pd_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_pd_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_pd_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      cpu_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_pd_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_pd_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_pd_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_pd_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.nested_pattern5_levelTwo:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      port_net:
+        type: string
+        description: port network
+        required: true
+        status: SUPPORTED
+      ps_server_2b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      ps_server_1b_ips:
+        type: string
+        required: true
+        status: SUPPORTED
+      packet_int_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+      security_group_name:
+        type: list
+        description: CMAUI1, CMAUI2 server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      availability_zone_0:
+        type: string
+        description: availabilityzone name
+        required: true
+        status: SUPPORTED
+      ps_server_1b_flavor:
+        type: string
+        description: Flavor for PS server
+        required: true
+        status: SUPPORTED
+      ps_server_1b_image:
+        type: string
+        description: Ps Image server
+        required: true
+        status: SUPPORTED
+      sub_inf_net:
+        type: string
+        description: sub interface network
+        required: true
+        status: SUPPORTED
+      ps_server_1b_names:
+        type: list
+        description: Ps server names
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      packet_ext_network_name:
+        type: string
+        description: network name
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_server_1b_ps_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_1:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_test_resourceGroup_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_test_resourceGroup_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_port_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_ext_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_packet_int_network:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_server_1b_ps_2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_server_1b_ps_2:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      binding_ps_server_1b_port_2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_port_1:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_int_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_int_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_test_resourceGroup_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_ext_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_1:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_server_1b_ps_2:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_2:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_server_1b_ps_1:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_int_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_1:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_server_1b_ps_2:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_server_1b_ps_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_1:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      link_packet_ext_network:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_server_1b_ps_2:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      end_point_packet_int_network:
+        type: tosca.capabilities.Endpoint
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_1:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_port_2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_packet_ext_network:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_2:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_server_1b_ps_1:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_test_resourceGroup_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_port_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_packet_ext_network:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_port_2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_1:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_server_1b_ps_2:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.ps_server_1b:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_ps_server_1b_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_ps_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      index_value:
+        type: integer
+        description: Index value of this substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      port_ps_server_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vlan_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vlan_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_ps_server_1b_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_ps_server_1b_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_ps_server_1b:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_ps_server_1b:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_ps_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_ps_server_1b:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_ps_server_1b:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_ps_server_1b:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      endpoint_ps_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_ps_server_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      feature_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      vlan_ids:
+        type: string
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ipv6_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ip_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      lb_st_vlan_type_oam:
+        type: string
+        description: dummy
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      net1:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_name_prefix:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_instance_index:
+        type: float
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_template_Vlan_vmi_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_template_Vlan_vmi_1:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_template_Vlan_vmi_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9fb0fbf
--- /dev/null
@@ -0,0 +1,40 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    jsa_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: jsa_name
+      type: string
+      description: network name of jsa log network
+  node_templates:
+    test_nested_level1:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_pattern5ServiceTemplate.yaml
+  groups:
+    main_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/main.yml
+        description: |
+          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+      members:
+      - test_nested_level1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/Nested_pd_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/Nested_pd_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9bea96b
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    compute_pd_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_server_1b_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_1b_port_order:
+      type: integer
+      required: true
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+  node_templates:
+    pd_server_1b_pd_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 9
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b_pd_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_1b_name
+          - index_value
+    pd_server_1b_pd_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_pd_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_pd_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd_server_1b_port_mac_requirements
+        order:
+          get_input: port_pd_server_1b_port_order
+        network_role:
+          get_input: port_pd_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_pd_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_pd_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_pd_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server_1b
+    capabilities:
+      disk.device.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
+      host_pd_server_1b:
+      - pd_server_1b
+      - host
+      disk.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes.rate
+      disk.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.allocation
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
+      cpu.delta_pd_server_1b:
+      - pd_server_1b
+      - cpu.delta
+      forwarder_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - forwarder
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
+      disk.device.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests
+      feature_pd_server_1b:
+      - pd_server_1b
+      - feature
+      disk.device.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
+      cpu_pd_server_1b:
+      - pd_server_1b
+      - cpu
+      disk.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes.rate
+      disk.device.read.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.requests.rate
+      endpoint_pd_server_1b:
+      - pd_server_1b
+      - endpoint
+      disk.device.allocation_pd_server_1b:
+      - pd_server_1b
+      - disk.device.allocation
+      memory.usage_pd_server_1b:
+      - pd_server_1b
+      - memory.usage
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
+      memory_pd_server_1b:
+      - pd_server_1b
+      - memory
+      disk.device.read.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.device.latency
+      disk.read.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.read.bytes
+      disk.device.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
+      disk.device.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests
+      disk.latency_pd_server_1b:
+      - pd_server_1b
+      - disk.latency
+      disk.ephemeral.size_pd_server_1b:
+      - pd_server_1b
+      - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
+      scalable_pd_server_1b:
+      - pd_server_1b
+      - scalable
+      disk.write.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests
+      feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+      disk.device.write.bytes.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes.rate
+      disk.root.size_pd_server_1b:
+      - pd_server_1b
+      - disk.root.size
+      disk.iops_pd_server_1b:
+      - pd_server_1b
+      - disk.iops
+      disk.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.bytes
+      os_pd_server_1b:
+      - pd_server_1b
+      - os
+      vcpus_pd_server_1b:
+      - pd_server_1b
+      - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
+      instance_pd_server_1b:
+      - pd_server_1b
+      - instance
+      binding_pd_server_1b:
+      - pd_server_1b
+      - binding
+      cpu_util_pd_server_1b:
+      - pd_server_1b
+      - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
+      memory.resident_pd_server_1b:
+      - pd_server_1b
+      - memory.resident
+      feature_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - feature
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets
+      disk.device.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.device.write.requests.rate
+      disk.device.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.device.capacity
+      disk.read.requests_pd_server_1b:
+      - pd_server_1b
+      - disk.read.requests
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
+      disk.capacity_pd_server_1b:
+      - pd_server_1b
+      - disk.capacity
+      disk.usage_pd_server_1b:
+      - pd_server_1b
+      - disk.usage
+      disk.write.requests.rate_pd_server_1b:
+      - pd_server_1b
+      - disk.write.requests.rate
+    requirements:
+      link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_pd_server_1b:
+      - pd_server_1b
+      - dependency
+      local_storage_pd_server_1b:
+      - pd_server_1b
+      - local_storage
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - link
+      dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency
+      dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+      - pd_server_1b_pd_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/Nested_ps_server_1bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/Nested_ps_server_1bServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9b0f4d9
--- /dev/null
@@ -0,0 +1,353 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_ps_server_1b
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_ps_server_1b_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_ps_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_ps_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_ps_server_1b_port_order:
+      type: integer
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    subinterface_nested_vlan_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    vm_image_name:
+      type: string
+      required: true
+    port_ps_server_1b_port_network_role:
+      type: string
+      required: true
+    port_ps_server_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vlan_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_subnetpoolid:
+      type: string
+      required: true
+    compute_ps_server_1b_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_ps_server_1b_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    ps_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.ps_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_ps_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_ps_server_1b_name
+          - index_value
+    ps_server_1b_ps_server_1b_port_nested_vlan:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_vlanServiceTemplate.yaml
+          count: 19
+          mandatory: true
+        parent_interface:
+          get_input:
+          - subinterface_nested_vlan_parent_interface
+          - index_value
+        net1:
+          get_input:
+          - subinterface_nested_vlan_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b_ps_server_1b_port
+          relationship: tosca.relationships.network.BindsTo
+    ps_server_1b_ps_server_1b_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_ps_server_1b_port_exCP_naming
+        replacement_policy:
+          get_input:
+          - port_ps_server_1b_port_replacement_policy
+          - index_value
+        vlan_requirements:
+          get_input: port_ps_server_1b_port_vlan_requirements
+        ip_requirements:
+          get_input: port_ps_server_1b_port_ip_requirements
+        network_role_tag:
+          get_input: port_ps_server_1b_port_network_role_tag
+        mac_requirements:
+          get_input: port_ps_server_1b_port_mac_requirements
+        order:
+          get_input: port_ps_server_1b_port_order
+        network_role:
+          get_input: port_ps_server_1b_port_network_role
+        subnetpoolid:
+          get_input: port_ps_server_1b_port_subnetpoolid
+        fixed_ips:
+          get_input:
+          - port_ps_server_1b_port_fixed_ips
+          - index_value
+        network:
+          get_input:
+          - port_ps_server_1b_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: ps_server_1b
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.ps_server_1b
+    capabilities:
+      disk.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes.rate
+      disk.device.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.device.usage
+      disk.device.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.device.allocation
+      disk.device.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests
+      cpu_util_ps_server_1b:
+      - ps_server_1b
+      - cpu_util
+      scalable_ps_server_1b:
+      - ps_server_1b
+      - scalable
+      disk.device.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes.rate
+      disk.device.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.device.latency
+      disk.device.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.device.iops
+      attachment_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - attachment
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.packets.rate
+      disk.device.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.device.capacity
+      forwarder_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - forwarder
+      instance_ps_server_1b:
+      - ps_server_1b
+      - instance
+      cpu_ps_server_1b:
+      - ps_server_1b
+      - cpu
+      disk.device.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes
+      disk.read.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes.rate
+      disk.device.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests
+      host_ps_server_1b:
+      - ps_server_1b
+      - host
+      disk.usage_ps_server_1b:
+      - ps_server_1b
+      - disk.usage
+      disk.read.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.read.requests
+      feature_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - feature
+      disk.device.read.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.requests.rate
+      disk.capacity_ps_server_1b:
+      - ps_server_1b
+      - disk.capacity
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes
+      disk.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests.rate
+      disk.device.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.device.read.bytes
+      disk.device.write.requests.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.requests.rate
+      disk.root.size_ps_server_1b:
+      - ps_server_1b
+      - disk.root.size
+      binding_ps_server_1b:
+      - ps_server_1b
+      - binding
+      memory.resident_ps_server_1b:
+      - ps_server_1b
+      - memory.resident
+      memory_ps_server_1b:
+      - ps_server_1b
+      - memory
+      disk.write.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.write.bytes
+      disk.device.write.bytes.rate_ps_server_1b:
+      - ps_server_1b
+      - disk.device.write.bytes.rate
+      disk.read.bytes_ps_server_1b:
+      - ps_server_1b
+      - disk.read.bytes
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets.rate
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes.rate
+      feature_ps_server_1b:
+      - ps_server_1b
+      - feature
+      os_ps_server_1b:
+      - ps_server_1b
+      - os
+      disk.iops_ps_server_1b:
+      - ps_server_1b
+      - disk.iops
+      disk.allocation_ps_server_1b:
+      - ps_server_1b
+      - disk.allocation
+      disk.write.requests_ps_server_1b:
+      - ps_server_1b
+      - disk.write.requests
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outpoing.packets
+      memory.usage_ps_server_1b:
+      - ps_server_1b
+      - memory.usage
+      disk.latency_ps_server_1b:
+      - ps_server_1b
+      - disk.latency
+      endpoint_ps_server_1b:
+      - ps_server_1b
+      - endpoint
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes.rate
+      feature_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - feature
+      vcpus_ps_server_1b:
+      - ps_server_1b
+      - vcpus
+      cpu.delta_ps_server_1b:
+      - ps_server_1b
+      - cpu.delta
+      disk.ephemeral.size_ps_server_1b:
+      - ps_server_1b
+      - disk.ephemeral.size
+      binding_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - binding
+      feature_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - feature_template_Vlan_vmi_1
+    requirements:
+      dependency_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - dependency_template_Vlan_vmi_1
+      local_storage_ps_server_1b:
+      - ps_server_1b
+      - local_storage
+      dependency_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - dependency
+      dependency_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - dependency
+      link_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - link
+      link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+      - ps_server_1b_ps_server_1b_port_nested_vlan
+      - link_template_Vlan_vmi_1
+      dependency_ps_server_1b:
+      - ps_server_1b
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/nested_pattern5ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/nested_pattern5ServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..8ae882e
--- /dev/null
@@ -0,0 +1,766 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    pd_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PD server
+    pd_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_external_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    packet_internal_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    pd_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: PD server names
+      entry_schema:
+        type: string
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    pd_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: PD Image server
+    pd_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+  node_templates:
+    packet_external_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_external_network_name
+    packet_internal_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_internal_network_name
+    test_nested_level2:
+      type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5_levelTwo
+      directives:
+      - substitutable
+      properties:
+        service_template_filter:
+          substitute_service_template: nested_pattern5_levelTwoServiceTemplate.yaml
+    abstract_pd_server_1b:
+      type: org.openecomp.resource.abstract.nodes.pd_server_1b
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_1b_name:
+        - get_input:
+          - pd_server_1b_names
+          - 0
+        vm_flavor_name:
+          get_input: pd_server_1b_flavor
+        subinterface_nested_vlan_net1:
+        - packet_external_network
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        subinterface_nested_vlan_parent_interface:
+        - pd_server_1b_port_0
+        port_pd_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - pd_server_1b_ips
+            - 0
+        port_pd_server_1b_port_network:
+        - packet_internal_network
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        service_template_filter:
+          substitute_service_template: Nested_pd_server_1bServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_pd_server_1b_pd_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_internal_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_external_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    nested_pattern5_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5.yml
+        description: nested1
+      members:
+      - packet_external_network
+      - packet_internal_network
+      - test_nested_level2
+      - abstract_pd_server_1b
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
+    capabilities:
+      disk.device.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes.rate_server_1b_ps_1
+      network.outgoing.packets.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.packets.rate_ps_server_1b_port_2
+      scalable_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - scalable_server_1b_ps_1
+      end_point_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - end_point_packet_ext_network
+      disk.capacity_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.capacity_server_1b_ps_2
+      disk.device.latency_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.latency_server_1b_ps_2
+      disk.device.write.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes_server_1b_ps_2
+      disk.device.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests_pd_server_1b
+      disk.read.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.read.requests_server_1b_ps_2
+      endpoint_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - endpoint_server_1b_ps_2
+      disk.iops_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.iops_server_1b_ps_2
+      disk.device.read.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes_server_1b_ps_1
+      feature_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - feature_packet_ext_network
+      forwarder_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - forwarder_ps_server_1b_port_1
+      forwarder_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - forwarder_pd_server_1b_pd_server_1b_port
+      disk.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.capacity_pd_server_1b
+      network.outpoing.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
+      cpu_util_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - cpu_util_server_1b_ps_2
+      network.incoming.packets_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets_ps_server_1b_port_1
+      feature_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b_pd_server_1b_port
+      memory_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory_server_1b_ps_1
+      link_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - link_packet_int_network
+      os_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - os_server_1b_ps_1
+      network.incoming.bytes_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes_ps_server_1b_port_2
+      disk.root.size_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.root.size_server_1b_ps_1
+      attachment_packet_internal_network:
+      - packet_internal_network
+      - attachment
+      disk.device.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.allocation_pd_server_1b
+      feature_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature
+      feature_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - feature_packet_int_network
+      disk.write.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests_server_1b_ps_1
+      cpu_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_pd_server_1b
+      disk.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests.rate_pd_server_1b
+      network.incoming.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes.rate_ps_server_1b_port_2
+      disk.latency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.latency_server_1b_ps_1
+      disk.device.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes.rate_pd_server_1b
+      feature_test_nested_level2:
+      - test_nested_level2
+      - feature
+      disk.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes.rate_pd_server_1b
+      disk.device.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.usage_server_1b_ps_1
+      disk.device.read.requests.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests.rate_server_1b_ps_2
+      disk.read.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes_server_1b_ps_1
+      disk.read.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes_server_1b_ps_2
+      cpu_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu_server_1b_ps_1
+      disk.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.usage_pd_server_1b
+      disk.ephemeral.size_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.ephemeral.size_server_1b_ps_2
+      end_point_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - end_point_packet_int_network
+      disk.device.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.iops_pd_server_1b
+      disk.write.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes.rate_server_1b_ps_1
+      scalable_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - scalable_server_1b_ps_2
+      cpu_util_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu_util_pd_server_1b
+      disk.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.requests_pd_server_1b
+      disk.device.write.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes.rate_pd_server_1b
+      vcpus_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - vcpus_server_1b_ps_1
+      disk.device.write.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes_server_1b_ps_1
+      feature_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - feature_server_1b_ps_2
+      disk.iops_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.iops_server_1b_ps_1
+      disk.device.read.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes_server_1b_ps_2
+      feature_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - feature_pd_server_1b
+      disk.device.write.requests.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests.rate_server_1b_ps_2
+      disk.device.write.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests_server_1b_ps_2
+      disk.capacity_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.capacity_server_1b_ps_1
+      feature_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - feature_ps_server_1b_port_2
+      disk.allocation_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.allocation_server_1b_ps_1
+      network.outgoing.bytes_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes_ps_server_1b_port_2
+      endpoint_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - endpoint_server_1b_ps_1
+      disk.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.usage_server_1b_ps_1
+      disk.device.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.bytes_pd_server_1b
+      disk.iops_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.iops_pd_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - feature_template_Vlan_vmi_1
+      end_point_packet_external_network:
+      - packet_external_network
+      - end_point
+      forwarder_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - forwarder_ps_server_1b_port_2
+      disk.write.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.bytes_pd_server_1b
+      cpu.delta_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - cpu.delta_server_1b_ps_2
+      instance_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - instance_server_1b_ps_2
+      disk.device.capacity_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.capacity_server_1b_ps_2
+      binding_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b
+      disk.device.read.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests_server_1b_ps_2
+      disk.device.write.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.write.requests.rate_pd_server_1b
+      disk.device.iops_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.iops_server_1b_ps_2
+      feature_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+      - test_nested_level2
+      - feature_template_Vlan_vmi_1_test_resourceGroup_2
+      feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - feature_template_Vlan_vmi_1_test_resourceGroup_1
+      network.outgoing.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
+      disk.read.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.requests_server_1b_ps_1
+      memory.usage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory.usage_server_1b_ps_1
+      link_packet_external_network:
+      - packet_external_network
+      - link
+      memory.usage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - memory.usage_server_1b_ps_2
+      disk.device.iops_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.iops_server_1b_ps_1
+      memory.resident_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.resident_pd_server_1b
+      network.outgoing.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
+      disk.device.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.bytes_pd_server_1b
+      feature_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - feature_server_1b_ps_1
+      vcpus_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - vcpus_server_1b_ps_2
+      attachment_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - attachment_pd_server_1b_pd_server_1b_port
+      attachment_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - attachment_packet_ext_network
+      disk.device.write.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests.rate_server_1b_ps_1
+      host_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - host_server_1b_ps_1
+      disk.ephemeral.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.ephemeral.size_pd_server_1b
+      network.outgoing.bytes_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes_ps_server_1b_port_1
+      disk.write.bytes_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes_server_1b_ps_1
+      end_point_packet_internal_network:
+      - packet_internal_network
+      - end_point
+      attachment_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - attachment_ps_server_1b_port_1
+      feature_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - feature_ps_server_1b_port_1
+      feature_packet_internal_network:
+      - packet_internal_network
+      - feature
+      cpu.delta_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu.delta_server_1b_ps_1
+      disk.device.write.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.requests_server_1b_ps_1
+      disk.device.capacity_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.capacity_server_1b_ps_1
+      disk.usage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.usage_server_1b_ps_2
+      instance_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - instance_pd_server_1b
+      disk.device.capacity_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.capacity_pd_server_1b
+      disk.root.size_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.root.size_server_1b_ps_2
+      disk.device.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes.rate_server_1b_ps_1
+      instance_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - instance_server_1b_ps_1
+      network.outgoing.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes.rate_ps_server_1b_port_1
+      network.incoming.packets.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets.rate_ps_server_1b_port_1
+      disk.device.read.requests_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests_server_1b_ps_1
+      network.outgoing.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.packets.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
+      network.incoming.packets_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets_ps_server_1b_port_2
+      os_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - os_pd_server_1b
+      network.incoming.bytes_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes_ps_server_1b_port_1
+      endpoint_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - endpoint_pd_server_1b
+      disk.read.bytes_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes_pd_server_1b
+      cpu_util_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - cpu_util_server_1b_ps_1
+      disk.write.requests_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests_server_1b_ps_2
+      disk.latency_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.latency_server_1b_ps_2
+      binding_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - binding_server_1b_ps_1
+      disk.device.usage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.usage_server_1b_ps_2
+      network.incoming.bytes.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.bytes.rate_ps_server_1b_port_1
+      binding_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - binding_ps_server_1b_port_1
+      host_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - host_pd_server_1b
+      attachment_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - attachment_packet_int_network
+      network.incoming.bytes_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
+      disk.root.size_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.root.size_pd_server_1b
+      binding_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - binding_ps_server_1b_port_2
+      disk.ephemeral.size_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.ephemeral.size_server_1b_ps_1
+      disk.allocation_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.allocation_server_1b_ps_2
+      memory_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory_pd_server_1b
+      disk.device.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.latency_pd_server_1b
+      binding_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - binding_server_1b_ps_2
+      disk.device.read.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.requests.rate_server_1b_ps_1
+      disk.device.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.usage_pd_server_1b
+      cpu_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - cpu_server_1b_ps_2
+      feature_packet_external_network:
+      - packet_external_network
+      - feature
+      memory.resident_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - memory.resident_server_1b_ps_2
+      memory.resident_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - memory.resident_server_1b_ps_1
+      disk.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes.rate_server_1b_ps_2
+      disk.device.write.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.write.bytes.rate_server_1b_ps_2
+      network.outgoing.packets.rate_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.packets.rate_ps_server_1b_port_1
+      disk.device.latency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.latency_server_1b_ps_1
+      disk.allocation_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.allocation_pd_server_1b
+      link_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - link_packet_ext_network
+      disk.write.bytes_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.bytes_server_1b_ps_2
+      binding_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - binding_pd_server_1b_pd_server_1b_port
+      host_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - host_server_1b_ps_2
+      disk.device.read.requests.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests.rate_pd_server_1b
+      link_packet_internal_network:
+      - packet_internal_network
+      - link
+      network.incoming.packets.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.incoming.packets.rate_ps_server_1b_port_2
+      disk.write.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.write.requests_pd_server_1b
+      attachment_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - attachment_ps_server_1b_port_2
+      disk.device.allocation_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.device.allocation_server_1b_ps_1
+      disk.device.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.read.bytes.rate_server_1b_ps_2
+      scalable_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - scalable_pd_server_1b
+      memory_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - memory_server_1b_ps_2
+      network.outgoing.bytes.rate_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outgoing.bytes.rate_ps_server_1b_port_2
+      os_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - os_server_1b_ps_2
+      cpu.delta_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - cpu.delta_pd_server_1b
+      disk.read.bytes.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes.rate_server_1b_ps_1
+      feature_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - feature_test_resourceGroup_1
+      feature_test_resourceGroup_2_test_nested_level2:
+      - test_nested_level2
+      - feature_test_resourceGroup_2
+      disk.read.bytes.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.read.bytes.rate_server_1b_ps_2
+      disk.device.allocation_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.device.allocation_server_1b_ps_2
+      vcpus_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - vcpus_pd_server_1b
+      disk.device.read.requests_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.device.read.requests_pd_server_1b
+      network.incoming.packets_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
+      disk.read.bytes.rate_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.read.bytes.rate_pd_server_1b
+      memory.usage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - memory.usage_pd_server_1b
+      attachment_packet_external_network:
+      - packet_external_network
+      - attachment
+      network.outpoing.packets_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - network.outpoing.packets_ps_server_1b_port_1
+      disk.latency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - disk.latency_pd_server_1b
+      network.outpoing.packets_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - network.outpoing.packets_ps_server_1b_port_2
+      network.incoming.bytes.rate_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
+      disk.write.requests.rate_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests.rate_server_1b_ps_2
+      disk.write.requests.rate_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - disk.write.requests.rate_server_1b_ps_1
+    requirements:
+      dependency_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - dependency_server_1b_ps_2
+      dependency_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_server_1b_ps_1
+      dependency_ps_server_1b_port_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_ps_server_1b_port_1
+      dependency_pd_server_1b_port_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b_pd_server_1b_port
+      dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency_template_Vlan_vmi_1
+      dependency_ps_server_1b_port_2_test_nested_level2:
+      - test_nested_level2
+      - dependency_ps_server_1b_port_2
+      dependency_test_resourceGroup_2_test_nested_level2:
+      - test_nested_level2
+      - dependency_test_resourceGroup_2
+      dependency_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+      - test_nested_level2
+      - dependency_template_Vlan_vmi_1_test_resourceGroup_2
+      dependency_test_resourceGroup_0:
+      - test_resourceGroup_0
+      - dependency
+      dependency_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_test_resourceGroup_1
+      local_storage_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - local_storage_pd_server_1b
+      local_storage_server_1b_ps_1_test_nested_level2:
+      - test_nested_level2
+      - local_storage_server_1b_ps_1
+      dependency_packet_int_network_test_nested_level2:
+      - test_nested_level2
+      - dependency_packet_int_network
+      local_storage_server_1b_ps_2_test_nested_level2:
+      - test_nested_level2
+      - local_storage_server_1b_ps_2
+      dependency_packet_internal_network:
+      - packet_internal_network
+      - dependency
+      dependency_server_1b_pd_0:
+      - abstract_pd_server_1b
+      - dependency_pd_server_1b
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+      - test_nested_level2
+      - dependency_template_Vlan_vmi_1_test_resourceGroup_1
+      dependency_packet_ext_network_test_nested_level2:
+      - test_nested_level2
+      - dependency_packet_ext_network
+      dependency_test_nested_level2:
+      - test_nested_level2
+      - dependency
+      dependency_packet_external_network:
+      - packet_external_network
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/nested_pattern5_levelTwoServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..290f859
--- /dev/null
@@ -0,0 +1,602 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_pattern5_levelTwo
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    port_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: port network
+    ps_server_2b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    ps_server_1b_ips:
+      hidden: false
+      immutable: false
+      type: string
+    packet_int_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+    security_group_name:
+      hidden: false
+      immutable: false
+      type: list
+      description: CMAUI1, CMAUI2 server names
+      entry_schema:
+        type: string
+    availability_zone_0:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+    ps_server_1b_flavor:
+      hidden: false
+      immutable: false
+      type: string
+      description: Flavor for PS server
+    ps_server_1b_image:
+      hidden: false
+      immutable: false
+      type: string
+      description: Ps Image server
+    sub_inf_net:
+      hidden: false
+      immutable: false
+      type: string
+      description: sub interface network
+    ps_server_1b_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: Ps server names
+      entry_schema:
+        type: string
+    packet_ext_network_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: network name
+  node_templates:
+    abstract_ps_server_1b_0:
+      type: org.openecomp.resource.abstract.nodes.ps_server_1b
+      directives:
+      - substitutable
+      properties:
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_ps_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - ps_server_1b_ips
+            - 0
+        vm_flavor_name:
+          get_input: ps_server_1b_flavor
+        port_ps_server_1b_port_network:
+        - packet_int_network
+        subinterface_nested_vlan_net1:
+        - packet_ext_network
+        port_ps_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        vm_image_name:
+          get_input: ps_server_1b_image
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
+        subinterface_nested_vlan_parent_interface:
+        - ps_server_1b_port_1
+        compute_ps_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        compute_ps_server_1b_name:
+        - get_input:
+          - ps_server_1b_names
+          - 1
+        service_template_filter:
+          substitute_service_template: Nested_ps_server_1bServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_ps_server_1b_ps_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_int_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_ext_network
+          relationship: tosca.relationships.network.LinksTo
+    packet_ext_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_ext_network_name
+    packet_int_network:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        network_name:
+          get_input: packet_int_network_name
+    abstract_ps_server_1b_1:
+      type: org.openecomp.resource.abstract.nodes.ps_server_1b
+      directives:
+      - substitutable
+      properties:
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_ps_server_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - ps_server_1b_ips
+            - 1
+        vm_flavor_name:
+          get_input: ps_server_1b_flavor
+        port_ps_server_1b_port_network:
+        - packet_int_network
+        subinterface_nested_vlan_net1:
+        - packet_ext_network
+        port_ps_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        vm_image_name:
+          get_input: ps_server_1b_image
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
+        subinterface_nested_vlan_parent_interface:
+        - ps_server_1b_port_2
+        compute_ps_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        compute_ps_server_1b_name:
+        - get_input:
+          - ps_server_1b_names
+          - 2
+        service_template_filter:
+          substitute_service_template: Nested_ps_server_1bServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_ps_server_1b_ps_server_1b_port:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_int_network
+          relationship: tosca.relationships.network.LinksTo
+      - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+          capability: tosca.capabilities.network.Linkable
+          node: packet_ext_network
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    nested_pattern5_levelTwo_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_pattern5_levelTwo.yml
+        description: nested1
+      members:
+      - packet_ext_network
+      - packet_int_network
+      - abstract_ps_server_1b_0
+      - abstract_ps_server_1b_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5_levelTwo
+    capabilities:
+      binding_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - binding_ps_server_1b_ps_server_1b_port
+      disk.device.latency_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.latency_ps_server_1b
+      disk.device.usage_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.usage_ps_server_1b
+      disk.device.usage_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.usage_ps_server_1b
+      disk.read.requests_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.read.requests_ps_server_1b
+      disk.device.write.requests.rate_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.write.requests.rate_ps_server_1b
+      disk.read.requests_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.read.requests_ps_server_1b
+      disk.device.write.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.write.requests.rate_ps_server_1b
+      binding_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - binding_ps_server_1b_ps_server_1b_port
+      disk.read.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.read.bytes_ps_server_1b
+      disk.read.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.read.bytes_ps_server_1b
+      disk.device.latency_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.latency_ps_server_1b
+      disk.root.size_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.root.size_ps_server_1b
+      network.incoming.bytes.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.root.size_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.root.size_ps_server_1b
+      network.incoming.bytes.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.device.read.requests.rate_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.read.requests.rate_ps_server_1b
+      disk.device.read.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.read.requests.rate_ps_server_1b
+      feature_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature
+      network.incoming.bytes_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
+      network.incoming.bytes_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
+      attachment_packet_int_network:
+      - packet_int_network
+      - attachment
+      cpu.delta_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - cpu.delta_ps_server_1b
+      memory.resident_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - memory.resident_ps_server_1b
+      cpu.delta_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - cpu.delta_ps_server_1b
+      memory.resident_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - memory.resident_ps_server_1b
+      cpu_util_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - cpu_util_ps_server_1b
+      disk.device.write.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.write.bytes.rate_ps_server_1b
+      disk.device.write.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.write.bytes.rate_ps_server_1b
+      cpu_util_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - cpu_util_ps_server_1b
+      disk.ephemeral.size_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.ephemeral.size_ps_server_1b
+      disk.ephemeral.size_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.ephemeral.size_ps_server_1b
+      disk.capacity_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.capacity_ps_server_1b
+      memory_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - memory_ps_server_1b
+      network.outgoing.packets.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
+      disk.capacity_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.capacity_ps_server_1b
+      memory_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - memory_ps_server_1b
+      instance_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - instance_ps_server_1b
+      forwarder_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - forwarder_ps_server_1b_ps_server_1b_port
+      forwarder_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - forwarder_ps_server_1b_ps_server_1b_port
+      network.outgoing.packets.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
+      link_packet_int_network:
+      - packet_int_network
+      - link
+      instance_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - instance_ps_server_1b
+      feature_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - feature_template_Vlan_vmi_1
+      feature_template_Vlan_vmi_1_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - feature_template_Vlan_vmi_1
+      disk.device.capacity_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.capacity_ps_server_1b
+      end_point_packet_ext_network:
+      - packet_ext_network
+      - end_point
+      disk.device.capacity_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.capacity_ps_server_1b
+      network.incoming.packets_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
+      disk.device.iops_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.iops_ps_server_1b
+      disk.device.iops_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.iops_ps_server_1b
+      network.incoming.packets_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
+      network.outgoing.bytes.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
+      network.outpoing.packets_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
+      network.outpoing.packets_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
+      endpoint_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - endpoint_ps_server_1b
+      disk.device.allocation_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.allocation_ps_server_1b
+      endpoint_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - endpoint_ps_server_1b
+      disk.write.requests.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.write.requests.rate_ps_server_1b
+      disk.write.requests.rate_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.write.requests.rate_ps_server_1b
+      host_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - host_ps_server_1b
+      host_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - host_ps_server_1b
+      feature_packet_int_network:
+      - packet_int_network
+      - feature
+      network.outgoing.bytes.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
+      disk.write.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.write.bytes.rate_ps_server_1b
+      disk.write.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.write.bytes_ps_server_1b
+      disk.device.write.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.write.bytes_ps_server_1b
+      disk.device.write.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.write.bytes_ps_server_1b
+      disk.write.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.write.bytes_ps_server_1b
+      disk.write.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.write.bytes.rate_ps_server_1b
+      disk.device.allocation_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.allocation_ps_server_1b
+      scalable_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - scalable_ps_server_1b
+      scalable_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - scalable_ps_server_1b
+      disk.allocation_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.allocation_ps_server_1b
+      disk.allocation_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.allocation_ps_server_1b
+      feature_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - feature_ps_server_1b
+      feature_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - feature_ps_server_1b
+      vcpus_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - vcpus_ps_server_1b
+      vcpus_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - vcpus_ps_server_1b
+      disk.read.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.read.bytes.rate_ps_server_1b
+      disk.read.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.read.bytes.rate_ps_server_1b
+      disk.iops_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.iops_ps_server_1b
+      memory.usage_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - memory.usage_ps_server_1b
+      memory.usage_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - memory.usage_ps_server_1b
+      disk.iops_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.iops_ps_server_1b
+      disk.write.requests_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.write.requests_ps_server_1b
+      disk.write.requests_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.write.requests_ps_server_1b
+      network.incoming.packets.rate_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
+      disk.latency_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.latency_ps_server_1b
+      disk.latency_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.latency_ps_server_1b
+      network.incoming.packets.rate_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
+      binding_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - binding_ps_server_1b
+      link_packet_ext_network:
+      - packet_ext_network
+      - link
+      binding_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - binding_ps_server_1b
+      disk.device.write.requests_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.write.requests_ps_server_1b
+      disk.device.read.requests_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.read.requests_ps_server_1b
+      disk.device.write.requests_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.write.requests_ps_server_1b
+      disk.device.read.requests_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.read.requests_ps_server_1b
+      end_point_packet_int_network:
+      - packet_int_network
+      - end_point
+      attachment_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - attachment_ps_server_1b_ps_server_1b_port
+      attachment_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - attachment_ps_server_1b_ps_server_1b_port
+      attachment_packet_ext_network:
+      - packet_ext_network
+      - attachment
+      os_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - os_ps_server_1b
+      os_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - os_ps_server_1b
+      feature_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - feature
+      network.outgoing.bytes_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
+      network.outgoing.bytes_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
+      disk.usage_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.usage_ps_server_1b
+      disk.usage_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.usage_ps_server_1b
+      disk.device.read.bytes_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.read.bytes_ps_server_1b
+      disk.device.read.bytes_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.read.bytes_ps_server_1b
+      cpu_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - cpu_ps_server_1b
+      cpu_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - cpu_ps_server_1b
+      feature_packet_ext_network:
+      - packet_ext_network
+      - feature
+      feature_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - feature_ps_server_1b_ps_server_1b_port
+      feature_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - feature_ps_server_1b_ps_server_1b_port
+      disk.device.read.bytes.rate_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - disk.device.read.bytes.rate_ps_server_1b
+      disk.device.read.bytes.rate_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - disk.device.read.bytes.rate_ps_server_1b
+    requirements:
+      dependency_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency
+      dependency_ps_server_1b_port_2:
+      - abstract_ps_server_1b_1
+      - dependency_ps_server_1b_ps_server_1b_port
+      dependency_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - dependency
+      dependency_ps_server_1b_port_1:
+      - abstract_ps_server_1b_0
+      - dependency_ps_server_1b_ps_server_1b_port
+      dependency_packet_int_network:
+      - packet_int_network
+      - dependency
+      local_storage_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - local_storage_ps_server_1b
+      dependency_packet_ext_network:
+      - packet_ext_network
+      - dependency
+      dependency_template_Vlan_vmi_1_test_resourceGroup_2:
+      - test_resourceGroup_2
+      - dependency_template_Vlan_vmi_1
+      dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+      - test_resourceGroup_1
+      - dependency_template_Vlan_vmi_1
+      local_storage_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - local_storage_ps_server_1b
+      dependency_server_1b_ps_1:
+      - abstract_ps_server_1b_0
+      - dependency_ps_server_1b
+      dependency_server_1b_ps_2:
+      - abstract_ps_server_1b_1
+      - dependency_ps_server_1b
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/nested_vlanServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern5/complexVFCWithDiffSubInfCountScenario/out/nested_vlanServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..ed59356
--- /dev/null
@@ -0,0 +1,111 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested_vlan
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    vlan_ids:
+      hidden: false
+      immutable: false
+      type: string
+    parent_interface:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ipv6_address:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ip_address:
+      hidden: false
+      immutable: false
+      type: string
+    lb_st_vlan_type_oam:
+      hidden: false
+      immutable: false
+      type: string
+      description: dummy
+    mac_address:
+      hidden: false
+      immutable: false
+      type: string
+    net1:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_name_prefix:
+      hidden: false
+      immutable: false
+      type: string
+    subinterface_instance_index:
+      hidden: false
+      immutable: false
+      type: float
+  node_templates:
+    template_Vlan_vmi_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      properties:
+        virtual_machine_interface_refs:
+        - get_input: parent_interface
+        name:
+          str_replace:
+            template: $NAME$VLAN
+            params:
+              $NAME:
+                get_input: subinterface_name_prefix
+              $VLAN:
+                get_input:
+                - vlan_ids
+                - get_input: subinterface_instance_index
+        virtual_network_refs:
+        - get_input: net1
+        virtual_machine_interface_properties:
+          sub_interface_vlan_tag:
+            get_input: lb_st_vlan_type_oam
+        virtual_machine_interface_allowed_address_pairs:
+          allowed_address_pair:
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ip_address
+              ip_prefix_len: 32
+            mac:
+              get_input: mac_address
+          - address_mode: active-standby
+            ip:
+              ip_prefix:
+                get_input: virtual_ipv6_address
+              ip_prefix_len: 128
+            mac:
+              get_input: mac_address
+        virtual_machine_interface_mac_addresses:
+          mac_address:
+          - get_input: mac_address
+  groups:
+    nested_vlan_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested_vlan.yml
+        description: cmaui server template for vMMSC
+      members:
+      - template_Vlan_vmi_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
+    capabilities:
+      feature_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - feature
+    requirements:
+      link_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - link
+      dependency_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - dependency
+      binding_template_Vlan_vmi_1:
+      - template_Vlan_vmi_1
+      - binding