VLAN tagging - Support Pattern 1C2 59/39059/3
authorojasdubey <ojas.dubey@amdocs.com>
Tue, 27 Mar 2018 11:33:51 +0000 (17:03 +0530)
committerOren Kleks <orenkle@amdocs.com>
Thu, 29 Mar 2018 05:40:56 +0000 (05:40 +0000)
1. Pattern 1C2 vlan tagging code
2. Count property handling
3. Added tests and updated existing test data

Change-Id: Idef33b142d415e1c0a9663497eed621f35c2393b
Issue-ID: SDC-1174
Signed-off-by: ojasdubey <ojas.dubey@amdocs.com>
126 files changed:
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java
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/pattern1a/computePortNetworkSubInterface/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/computePortNetworkSubInterface/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/computePortNetworkSubInterface/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/multiplePortsMultipleVlans/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/multiplePortsMultipleVlans/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/multiplePortsMultipleVlans/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/multipleVlanDiffType/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/multipleVlanDiffType/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/multipleVlanDiffType/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/multipleVlanSameType/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/multipleVlanSameType/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/multipleVlanSameType/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/regularNestedSubInterface/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/regularNestedSubInterface/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/subInterfaceGetAttrInOut/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/subInterfaceGetAttrInOut/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/subInterfaceGetAttrInOut/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/subInterfaceNodesConnectedIn/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/subInterfaceNodesConnectedIn/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/subInterfaceNodesConnectedIn/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/subInterfaceNodesConnectedOut/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/subInterfaceNodesConnectedOut/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/subInterfaceNodesConnectedOut/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/diffComputeSubInterface/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/diffComputeSubInterface/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/diffComputeSubInterface/out/Nested_pd_serverServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/diffComputeSubInterface/out/Nested_ps_serverServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/onePortIsConnectedWithSubInf/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/onePortIsConnectedWithSubInf/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/onePortIsConnectedWithSubInf/out/Nested_pd_server_1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/regularNestedSubInterface/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/regularNestedSubInterface/out/Nested_pd_serverServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/regularNestedSubInterface/out/Nested_ps_serverServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/sameComputeDiffPortSubInterface/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/sameComputeDiffPortSubInterface/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/sameComputeDiffPortSubInterface/out/Nested_pd_serverServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/sameComputeDiffPortSubInterface/out/Nested_pd_server_1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/sameComputeSamePortDiffSubInterfaceFile/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/sameComputeSamePortDiffSubInterfaceFile/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1b/sameComputeSamePortDiffSubInterfaceFile/out/Nested_pd_server_1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/allConnectivities/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/allConnectivities/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/allConnectivities/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/multiplePortsMultipleVlans/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/multiplePortsMultipleVlans/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/multiplePortsMultipleVlans/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/onePortVlanSameType/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/onePortVlanSameType/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/onePortVlanSameType/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/optionalPropertiesConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/optionalPropertiesConsolidation/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/optionalPropertiesConsolidation/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/regularNestedSubInterface/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/regularNestedSubInterface/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNetwork/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/pattern1c2/differentNetwork/in/heat_env.env [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/pattern1c2/differentNetwork/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/pattern1c2/differentNetwork/in/nested.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/pattern1c2/differentNetwork/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/pattern1c2/differentNetwork/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/pattern1c2/differentNetwork/out/Nested_pd_serverServiceTemplate.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/pattern1c2/differentNetwork/out/nestedServiceTemplate.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/pattern1c2/differentNodesConnectedOut/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/pattern1c2/differentNodesConnectedOut/in/heat_env.env [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/pattern1c2/differentNodesConnectedOut/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/pattern1c2/differentNodesConnectedOut/in/nested.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/pattern1c2/differentNodesConnectedOut/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/pattern1c2/differentNodesConnectedOut/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/pattern1c2/differentNodesConnectedOut/out/Nested_pd_serverServiceTemplate.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/pattern1c2/differentNodesConnectedOut/out/nestedServiceTemplate.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/pattern1c2/differentResourceGroupCount/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/pattern1c2/differentResourceGroupCount/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/pattern1c2/differentResourceGroupCount/in/nested.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/pattern1c2/differentResourceGroupCount/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/pattern1c2/differentResourceGroupCount/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/pattern1c2/differentResourceGroupCount/out/Nested_vdbeServiceTemplate.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/pattern1c2/differentResourceGroupCount/out/nestedServiceTemplate.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/GlobalSubstitutionTypesServiceTemplate.yaml
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/vfcInstanceGroup/oneSubInterfaceNetworkRole/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/vfcInstanceGroup/oneSubInterfaceNetworkRole/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/vfcInstanceGroup/oneSubInterfaceNetworkRole/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/vfcInstanceGroup/oneSubInterfaceNetworkRoleAndTwoAbstractNodes/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/vfcInstanceGroup/oneSubInterfaceNetworkRoleAndTwoAbstractNodes/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/vfcInstanceGroup/oneSubInterfaceNetworkRoleAndTwoAbstractNodes/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/vfcInstanceGroup/twoSubInterfaceNetworkRoleAndTwoAbstractNodes/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/vfcInstanceGroup/twoSubInterfaceNetworkRoleAndTwoAbstractNodes/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/vfcInstanceGroup/twoSubInterfaceNetworkRoleAndTwoAbstractNodes/out/Nested_vdbeServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/vfcInstanceGroup/twoSubInterfaceNetworkRoleAndTwoAbstractNodes/out/Nested_vdbe_1ServiceTemplate.yaml
openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/DataModelUtil.java
openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/ToscaConstants.java

index 0217d02..7e54f97 100644 (file)
@@ -70,7 +70,6 @@ import org.openecomp.sdc.tosca.datatypes.model.RelationshipTemplate;
 import org.openecomp.sdc.tosca.datatypes.model.RequirementAssignment;
 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
 import org.openecomp.sdc.tosca.datatypes.model.SubstitutionMapping;
-import org.openecomp.sdc.tosca.datatypes.model.heatextend.ParameterDefinitionExt;
 import org.openecomp.sdc.tosca.datatypes.model.heatextend.PropertyTypeExt;
 import org.openecomp.sdc.tosca.services.DataModelUtil;
 import org.openecomp.sdc.tosca.services.ToscaAnalyzerService;
@@ -1973,8 +1972,8 @@ public class UnifiedCompositionService {
               new ArrayList<>(subInterfaceTemplateConsolidationDataList);
       //Remove all the existing properties as we are going to create new based on the
       // naming convention for the substitution
-      handleSubInterfaceProperties(unifiedCompositionTo, newSubInterfaceNodeTemplate, entityConsolidationDataList,
-              portTemplateConsolidationData);
+      handleSubInterfaceProperties(unifiedCompositionTo, originalSubInterfaceNodeTemplateId,
+          newSubInterfaceNodeTemplate, entityConsolidationDataList, portTemplateConsolidationData);
       //Update requirements for relationships between the consolidation entities
       handleConsolidationEntitiesRequirementConnectivity(newSubInterfaceNodeTemplate, unifiedCompositionTo
               .getServiceTemplate(), unifiedCompositionTo.getContext());
@@ -1983,6 +1982,7 @@ public class UnifiedCompositionService {
   }
 
   private void handleSubInterfaceProperties(UnifiedCompositionTo unifiedCompositionTo,
+                                            String subInterfaceNodeTemplateId,
                                             NodeTemplate newSubInterfaceNodeTemplate,
                                             List<EntityConsolidationData>
                                                     entityConsolidationDataList,
@@ -2013,8 +2013,8 @@ public class UnifiedCompositionService {
         //Handle service_template_filter property for subinterface as we should not create inputs
         // for this property
         if (propertyEntry.getKey().equals(ToscaConstants.SERVICE_TEMPLATE_FILTER_PROPERTY_NAME)) {
-          handleSubInterfaceServiceTemplateFilterProperty(newSubInterfaceNodeTemplate,
-                  propertyEntry.getKey(), propertyEntry.getValue(), serviceTemplate,
+          handleSubInterfaceServiceTemplateFilterProperty(subInterfaceNodeTemplateId, newSubInterfaceNodeTemplate,
+                  propertyEntry.getKey(), propertyEntry.getValue(), portTemplateConsolidationData,
                   unifiedCompositionTo.getSubstitutionServiceTemplate());
         } else if (indexVarProperties.isPresent()
                 && indexVarProperties.get().contains(propertyEntry.getKey())) {
@@ -2211,47 +2211,37 @@ public class UnifiedCompositionService {
     nodeTemplate.getProperties().put(propertyKey, propertyValue);
   }
 
-  private void handleSubInterfaceServiceTemplateFilterProperty(NodeTemplate nodeTemplate,
+  private void handleSubInterfaceServiceTemplateFilterProperty(String subInterfaceNodeTemplateId,
+                                                               NodeTemplate nodeTemplate,
                                                                String propertyKey,
                                                                Object propertyValue,
-                                                               ServiceTemplate serviceTemplate,
+                                                               PortTemplateConsolidationData
+                                                                   portTemplateConsolidationData,
                                                                ServiceTemplate substitutionServiceTemplate) {
     //Retain service_template_filter (Can be present in a sub-interface resource-def)
-    nodeTemplate.getProperties().put(propertyKey, propertyValue);
-    Object serviceTemplateFilterProperty =
-            nodeTemplate.getProperties().get(ToscaConstants.SERVICE_TEMPLATE_FILTER_PROPERTY_NAME);
-    if (!(serviceTemplateFilterProperty instanceof Map)) {
-      return;
-    }
-    Map<String, Object> serviceTemplatePropertyMap = (Map<String, Object>)
-            serviceTemplateFilterProperty;
-    Object countPropertyVal = serviceTemplatePropertyMap.get(ToscaConstants.COUNT_PROPERTY_NAME);
-    //Check if the value of the count property is a tosca function
-    if (!isPropertyContainsToscaFunction(countPropertyVal)) {
-      return;
-    }
-    Map<String, Object> countPropertyValMap = (Map<String, Object>) countPropertyVal;
-    //If the value is in the form of get_input add an input parameter in current service
-    // template
-    if (countPropertyValMap.keySet().contains(ToscaFunctions.GET_INPUT.getDisplayName())) {
-      String countPropertyInputName = countPropertyValMap.get(ToscaFunctions.GET_INPUT
-              .getDisplayName()).toString();
-      //Get the input parameter definition from top level where the resource group was present
-      ParameterDefinitionExt parameterDefinition = (ParameterDefinitionExt)
-              DataModelUtil.getInputParameters(serviceTemplate).get(countPropertyInputName);
-      if (Objects.nonNull(parameterDefinition)) {
-        //Remove annotations if any for the nested service template
-        parameterDefinition.setAnnotations(null);
-        DataModelUtil.getInputParameters(substitutionServiceTemplate)
-                .put(countPropertyInputName, parameterDefinition);
-        if (Objects.nonNull(countPropertyInputName)) {
-          //Remove the input from top level
-          DataModelUtil.getInputParameters(serviceTemplate).remove(countPropertyInputName);
-        }
-      }
+    if (propertyValue instanceof Map) {
+      Map<String, Object> serviceTemplateFilterPropertyMap = new HashMap<>((Map<String, Object>) propertyValue);
+      handleCountProperty(subInterfaceNodeTemplateId, nodeTemplate, portTemplateConsolidationData,
+          substitutionServiceTemplate, serviceTemplateFilterPropertyMap);
+      DataModelUtil.addNodeTemplateProperty(nodeTemplate, propertyKey, serviceTemplateFilterPropertyMap);
     }
   }
 
+  private void handleCountProperty(String subInterfaceNodeTemplateId, NodeTemplate nodeTemplate,
+                                   PortTemplateConsolidationData portTemplateConsolidationData,
+                                   ServiceTemplate substitutionServiceTemplate,
+                                   Map<String, Object> serviceTemplatePropertyMap) {
+    String countInputParameterId = getSubInterfaceInputParameterId(nodeTemplate.getType(), subInterfaceNodeTemplateId,
+            ToscaConstants.SERVICE_TEMPLATE_FILTER_COUNT, portTemplateConsolidationData);
+    EntrySchema entrySchema = new EntrySchema();
+    entrySchema.setType(PropertyType.FLOAT.getDisplayName());
+    addInputParameter(countInputParameterId, PropertyType.LIST.getDisplayName(), entrySchema,
+        substitutionServiceTemplate);
+    Map<String, List<String>> countPropertyValueInputParam = getPropertyValueInputParam(countInputParameterId);
+    serviceTemplatePropertyMap.remove(ToscaConstants.COUNT_PROPERTY_NAME);
+    serviceTemplatePropertyMap.put(ToscaConstants.COUNT_PROPERTY_NAME, countPropertyValueInputParam);
+  }
+
   private void handleNodeTypeProperties(ServiceTemplate substitutionServiceTemplate,
                                         List<EntityConsolidationData> entityConsolidationDataList,
                                         NodeTemplate nodeTemplate,
@@ -2709,15 +2699,8 @@ public class UnifiedCompositionService {
         }
         break;
       case SUB_INTERFACE:
-        String subInterfaceType = getSubInterfaceTypeSuffix(nodeTemplate.getType());
-        if (Objects.isNull(portTemplateConsolidationData)
-                || portTemplateConsolidationData.isSubInterfaceNodeTemplateIdParameter(nodeTemplate.getType())) {
-          paramterId = UnifiedCompositionEntity.SUB_INTERFACE.getDisplayName().toLowerCase() + "_"
-                  + nodeTemplateId + "_" + propertyId;
-        } else {
-          paramterId = UnifiedCompositionEntity.SUB_INTERFACE.getDisplayName().toLowerCase() + "_"
-                  + subInterfaceType + "_" + propertyId;
-        }
+        paramterId = getSubInterfaceInputParameterId(nodeTemplate.getType(), nodeTemplateId, propertyId,
+                portTemplateConsolidationData);
         break;
       default:
         break;
@@ -2725,6 +2708,20 @@ public class UnifiedCompositionService {
     return paramterId;
   }
 
+  private String getSubInterfaceInputParameterId(String type,
+                                                 String nodeTemplateId,
+                                                 String propertyId,
+                                                 PortTemplateConsolidationData portTemplateConsolidationData) {
+    String subInterfaceType = getSubInterfaceTypeSuffix(type);
+    if (Objects.isNull(portTemplateConsolidationData)
+        || portTemplateConsolidationData.isSubInterfaceNodeTemplateIdParameter(type)) {
+      return UnifiedCompositionEntity.SUB_INTERFACE.getDisplayName().toLowerCase() + "_"
+          + nodeTemplateId + "_" + propertyId;
+    }
+    return UnifiedCompositionEntity.SUB_INTERFACE.getDisplayName().toLowerCase() + "_"
+        + subInterfaceType + "_" + propertyId;
+  }
+
   private void removeConnectivityOut(EntityConsolidationData entityConsolidationData,
                                      NodeTemplate nodeTemplate) {
     if (MapUtils.isEmpty(entityConsolidationData.getNodesConnectedOut())) {
@@ -2825,7 +2822,7 @@ public class UnifiedCompositionService {
         continue;
       }
 
-      //Check if the input is of type compute or port
+      //Check if the input is of type compute, port or sub interface
       List<Object> abstractPropertyValue = new ArrayList<>();
       switch (inputUnifiedCompositionEntity) {
         case COMPUTE:
@@ -3725,13 +3722,33 @@ public class UnifiedCompositionService {
   private Object getPropertyValueFromNodeTemplate(String propertyName, NodeTemplate nodeTemplate) {
     Map<String, Object> nodeTemplateProperties = nodeTemplate.getProperties();
     if (nodeTemplateProperties != null) {
-      Object propertyValue = nodeTemplateProperties.get(propertyName);
-      propertyValue = getClonedObject(propertyValue);
+      Object propertyValue;
+      if (propertyName.startsWith(ToscaConstants.SERVICE_TEMPLATE_FILTER_PROPERTY_NAME)) {
+        propertyValue = getServiceTemplateFilterPropertyValue(propertyName, nodeTemplateProperties);
+      } else {
+        propertyValue = nodeTemplateProperties.get(propertyName);
+        propertyValue = getClonedObject(propertyValue);
+      }
       return propertyValue;
     }
     return null;
   }
 
+  private Object getServiceTemplateFilterPropertyValue(String propertyName,
+                                                       Map<String, Object> nodeTemplateProperties) {
+    Object propertyValue = null;
+    Object serviceTemplateFilterProperties =
+        nodeTemplateProperties.get(ToscaConstants.SERVICE_TEMPLATE_FILTER_PROPERTY_NAME);
+    String serviceTemplateFilterPropertyName =
+        propertyName.replace(ToscaConstants.SERVICE_TEMPLATE_FILTER_PROPERTY_NAME + "_", "");
+
+    if (Objects.nonNull(serviceTemplateFilterProperties)
+        && serviceTemplateFilterProperties instanceof Map) {
+      propertyValue = ((Map<String, Object>) serviceTemplateFilterProperties).get(serviceTemplateFilterPropertyName);
+    }
+    return propertyValue;
+  }
+
   private Map<String, UnifiedCompositionEntity> getAllConsolidationNodeTemplateIdAndType(
           List<UnifiedCompositionData> unifiedCompositionDataList) {
 
@@ -3740,9 +3757,7 @@ public class UnifiedCompositionService {
       ComputeTemplateConsolidationData computeTemplateConsolidationData =
               unifiedCompositionData.getComputeTemplateConsolidationData();
       if (Objects.nonNull(computeTemplateConsolidationData)) {
-        consolidationNodeTemplateIdAndType
-                .put(computeTemplateConsolidationData.getNodeTemplateId(),
-                        COMPUTE);
+        consolidationNodeTemplateIdAndType.put(computeTemplateConsolidationData.getNodeTemplateId(), COMPUTE);
       }
       List<SubInterfaceTemplateConsolidationData> subInterfaceTemplateConsolidationDataList =
               getSubInterfaceTemplateConsolidationDataList(unifiedCompositionData);
index 89d7cab..41eb073 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_1C2_BASE_DIRECTORY =
+      "/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/";
   private static final String PATTERN_4_BASE_DIRECTORY =
       "/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern4/";
   private static final String PATTERN_5_BASE_DIRECTORY =
@@ -38,7 +40,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceComputePortNetworkWithGroup() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one subinterface resource group with only port
      * connected to network
      */
@@ -47,7 +49,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceNodesConnectedOut() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one subinterface resource group with
      * 1. Port connected to network
      * 2. Sub-interface connected to same network
@@ -58,7 +60,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceNodesConnectedIn() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one subinterface resource group with
      * 1. Port connected to network
      * 2. Sub-interface connected to different network
@@ -69,7 +71,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceGetAttrInOut() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one subinterface resource group with
      * 1. Port connected to network
      * 2. Sub-interface connected to different network
@@ -82,7 +84,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceMultipleVlanSameNestedFile() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and two subinterface resource groups with
      * 1. Port connected to network
      * 2. Sub-interfaces with same nested files
@@ -92,7 +94,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceMultipleVlanDiffNestedFile() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and two subinterface resource groups with
      * 1. Port connected to network
      * 2. Sub-interfaces with different nested files
@@ -102,7 +104,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceMultiplePortsMultipleVlans() throws IOException {
-    /**
+    /*
      * Heat file with one compute, two ports and two subinterface resource groups with
      * 1. Port connected to network
      * 2. Sub-interfaces each with different nested files
@@ -112,7 +114,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceRegularNested() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one subinterface resource represented through a
      * regular nested resource and not using a resource group
      */
@@ -121,7 +123,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceNotBoundToPort() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one subinterface resource group with
      * 1. Resource group missing virtual_machine_interface_refs property
      * 2. Resource group missing virtual_machine_interface_properties_sub_interface_vlan_tag
@@ -134,7 +136,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
   //Pattern 1B test
   @Test
   public void testDiffComputeSubInterface() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one subinterface resource group with
      * 1. There are two compute both of different type
      */
@@ -143,7 +145,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testOnePortIsConnectedWithSubInf() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one subinterface resource group with
      * 1. Two compute of same type
      * 2. Two port of same type but only one of them is having sub interface binding
@@ -153,7 +155,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testRegularNestedSubInterface() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one sub interface without resource group
      * 1. Two compute of same type
      * 2. Two port are of different type
@@ -164,7 +166,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSameComputeDiffPortSubInterface() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one subinterface resource group with
      * 1. Two compute of same type
      * 2. Two port are of different type
@@ -175,21 +177,20 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSameComputeSamePortDiffSubInterfaceFile() throws IOException {
-    /**
+    /*
      * Heat file with one compute, one port and one subinterface resource group with
      * 1. Two compute of same type
      * 2. Two port are of same type connected with different sub interface nested file
      * 3. Sub interface property are same for both port
      */
-    testTranslationWithInit(PATTERN_1B_BASE_DIRECTORY
-        + "sameComputeSamePortDiffSubInterfaceFile");
+    testTranslationWithInit(PATTERN_1B_BASE_DIRECTORY + "sameComputeSamePortDiffSubInterfaceFile");
   }
 
   //****************** PATTERN 1C1 Tests ***************************
 
   @Test
   public void testSubInterfaceScalingOnePortVlanSameType() throws IOException {
-    /**
+    /*
      * Heat file with two computes of same type, two ports of same type and two subinterface resource groups of same
      * type with
      * 1. Compute has one port each
@@ -202,7 +203,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceScalingMultiplePortsMultipleVlansWithGroup() throws IOException {
-    /**
+    /*
      * Heat file with two computes of different type, four ports of two types each and four subinterface resource groups
      * of two types each
      * 1. Each compute has two ports, one of each type
@@ -215,7 +216,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceScalingOptionalPropertiesConsolidation() throws IOException {
-    /**
+    /*
      * Heat file with two computes of same type, four ports of two types each and two subinterface resource groups
      * of same type
      * 1. Each compute has two ports, one of each type
@@ -229,7 +230,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceScalingRegularNestedSubInterface() throws IOException {
-    /**
+    /*
      * Heat file with two computes, two ports of same type connected to network and two subinterface resource
      * represented through a regular nested resource and not using a resource group not connected to network
      */
@@ -238,7 +239,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceScalingAllConnectivities() throws IOException {
-    /**
+    /*
      * Heat file with two computes of same type, four ports of two types each and two subinterface resource groups
      * of same type
      * 1. Each compute has two ports, one of each type
@@ -250,10 +251,31 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
     testTranslationWithInit(PATTERN_1C1_BASE_DIRECTORY + "allConnectivities");
   }
 
+  @Test
+  public void testSubInterfaceWithDifferentResourceGroupCount() throws IOException {
+    /*
+     * Heat file with two computes of the same type, each one has one port with one sub interface
+     * (from same type)
+     * resource group have a different count which creates a catalog instance
+     * */
+
+    testTranslationWithInit(PATTERN_1C2_BASE_DIRECTORY + "differentResourceGroupCount");
+  }
+
+  @Test
+  public void testSubInterfaceDifferentNodesConnectedOutToResourceGroup() throws IOException {
+    testTranslationWithInit(PATTERN_1C2_BASE_DIRECTORY + "differentNodesConnectedOut");
+  }
+
+  @Test
+  public void testSubInterfaceDifferentNetwork() throws IOException {
+    testTranslationWithInit(PATTERN_1C2_BASE_DIRECTORY + "differentNetwork");
+  }
+
   //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
@@ -266,7 +288,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @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
@@ -279,7 +301,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @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
@@ -290,7 +312,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
   @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
@@ -301,7 +323,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
   @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
      */
@@ -311,7 +333,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
   @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
      */
@@ -319,9 +341,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
   }
 
   @Test
-  public void testComplexVFCWithDiffSubInfConnectivityScenarioPattern5()
-      throws
-      IOException {
+  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
@@ -330,11 +350,8 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
     testTranslationWithInit(PATTERN_5_BASE_DIRECTORY + "complexVFCWithDiffSubInfConnectivityScenario");
   }
 
-  //Catalog instance will start working with 1C2 changes in place
   @Test
-  public void testComplexVFCWithDiffSubInfCountScenarioPattern5()
-      throws
-      IOException {
+  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
@@ -346,7 +363,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
   //Pattern 4 Test Cases
   @Test
   public void testSubInterfaceComputePortNetworkPattern4() throws IOException {
-    /**
+    /*
      * Nested Heat file with one compute, one port and one subinterface resource group with only
      * port connected to network
      */
@@ -355,7 +372,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceMultiplePortsMultipleVlansPattern4() throws IOException {
-    /**
+    /*
      * Nested Heat file with one compute, two ports and two subinterface resource groups with
      * 1. Port connected to network
      * 2. Sub-interfaces each with different nested files
@@ -365,7 +382,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceMultipleVlanDiffFilePattern4() throws IOException {
-    /**
+    /*
      * Nested Heat file with one compute, one port and two subinterface resource groups with
      * 1. Port connected to network
      * 2. Sub-interfaces with different nested files
@@ -375,7 +392,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceMultipleVlanSameFilePattern4() throws IOException {
-    /**
+    /*
      * Nested Heat file with one compute, one port and two subinterface resource groups with
      * 1. Port connected to network
      * 2. Sub-interfaces with same nested files
@@ -385,7 +402,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceRegularNestedPattern4() throws IOException {
-    /**
+    /*
      * Nested Heat file with one compute, one port and one subinterface resource represented
      * through a regular nested resource and not using a resource group
      */
@@ -394,7 +411,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceGetAttrInOutPattern4() throws IOException {
-    /**
+    /*
      * Nested Heat file with one compute, one port and one subinterface resource group with
      * 1. Port connected to network
      * 2. Sub-interface connected to different network
@@ -407,7 +424,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceNodesConnectedInPattern4() throws IOException {
-    /**
+    /*
      * Nested Heat file with one compute, one port and one subinterface resource group with
      * 1. Port connected to network
      * 2. Sub-interface connected to different network
@@ -418,7 +435,7 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
 
   @Test
   public void testSubInterfaceNodesConnectedOutPattern4() throws IOException {
-    /**
+    /*
      * Nested Heat file with one compute, one port and one subinterface resource group with
      * 1. Port connected to network
      * 2. Sub-interface connected to same network
@@ -455,4 +472,5 @@ public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationT
      */
     testTranslationWithInit(VFC_INSTANCE_GROUP_BASE_DIRECTORY + "pattern4SubInterfaceNodesConnectedOut");
   }
+
 }
index 0741e10..461b81c 100644 (file)
@@ -40,6 +40,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       subinterface_nested_aap_untrusted_v6_ip_prefix_len:
         type: list
         required: true
@@ -50,15 +56,6 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      untrusted_num_vn:
-        type: float
-        description: Number of vDBE subinterface virtual Networks
-        required: true
-        status: SUPPORTED
-        constraints:
-        - in_range:
-          - 1
-          - 77
       port_vdbe_untr_vmi_virtual_machine_interface_mac_addresses:
         type: list
         required: true
index 8e88cf2..46d5688 100644 (file)
@@ -86,6 +86,23 @@ topology_template:
             param_name: vdbe_aap_untrusted_ip_prefix_len
       type: string
       description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
     aap_address_mode:
       hidden: false
       immutable: false
@@ -386,6 +403,8 @@ topology_template:
         - get_input: untrusted_vlan_tags
         compute_vdbe_availability_zone:
         - get_input: availability_zone_1
+        subinterface_nested_service_template_filter_count:
+        - get_input: untrusted_num_vn
         subinterface_nested_aap_untrusted_v6_ip_prefix_len:
         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
         vm_flavor_name:
index 42f3daa..cc98b59 100644 (file)
@@ -37,6 +37,11 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     subinterface_nested_aap_untrusted_v6_ip_prefix_len:
       type: list
       required: true
@@ -45,15 +50,6 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    untrusted_num_vn:
-      hidden: false
-      immutable: false
-      type: float
-      description: Number of vDBE subinterface virtual Networks
-      constraints:
-      - in_range:
-        - 1
-        - 77
     port_vdbe_untr_vmi_virtual_machine_interface_mac_addresses:
       type: list
       required: true
@@ -264,9 +260,11 @@ topology_template:
           - subinterface_nested_aap_address_mode
           - index_value
         service_template_filter:
-          substitute_service_template: nestedServiceTemplate.yaml
           count:
-            get_input: untrusted_num_vn
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
           mandatory: false
         aap_untrusted_v6_ip_prefix:
           get_input:
index 4ec9d0d..8a03266 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: GlobalSubstitutionTypes\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-node_types:\r
-  org.openecomp.resource.abstract.nodes.vdbe:\r
-    derived_from: org.openecomp.resource.abstract.nodes.VFC\r
-    properties:\r
-      subinterface_vlan1_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_availability_zone:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      port_vdbe_untr_2_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      vm_flavor_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      untrusted_num_vn:\r
-        type: float\r
-        description: Number of vDBE subinterface virtual Networks\r
-        required: true\r
-        status: SUPPORTED\r
-        constraints:\r
-        - in_range:\r
-          - 1\r
-          - 77\r
-      subinterface_vlan1_counter:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: float\r
-      subinterface_vlan2_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_image_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_2_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      compute_vdbe_metadata:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-      port_vdbe_untr_2_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_2_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_2_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-      port_vdbe_untr_1_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan2_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan2_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_2_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan1_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan2_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_2_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan2_vn_network_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_2_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan2_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan1_vn_network_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_2_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_2_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan2_counter:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: float\r
-      subinterface_vlan1_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      index_value:\r
-        type: integer\r
-        description: Index value of this substitution service template runtime instance\r
-        required: false\r
-        default: 0\r
-        status: SUPPORTED\r
-        constraints:\r
-        - greater_or_equal: 0\r
-      subinterface_vlan2_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan1_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-    attributes:\r
-      vdbe_vdbe_untr_1_port_vlan1_vlan_tag_list:\r
-        type: list\r
-        status: SUPPORTED\r
-        entry_schema: &id001\r
-          type: string\r
-    requirements:\r
-    - dependency_vdbe:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - local_storage_vdbe:\r
-        capability: tosca.capabilities.Attachment\r
-        node: tosca.nodes.BlockStorage\r
-        relationship: tosca.relationships.AttachesTo\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_vdbe_untr_2_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_2_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe_vdbe_untr_2_port_vlan2:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe_vdbe_untr_1_port_vlan1:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      endpoint_vdbe:\r
-        type: tosca.capabilities.Endpoint.Admin\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.ephemeral.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_2_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_util_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      vcpus_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port_vlan1:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      scalable_vdbe:\r
-        type: tosca.capabilities.Scalable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      instance_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu.delta_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_2_port_vlan2:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      disk.device.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.resident_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      host_vdbe:\r
-        type: tosca.capabilities.Container\r
-        valid_source_types:\r
-        - tosca.nodes.SoftwareComponent\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      os_vdbe:\r
-        type: tosca.capabilities.OperatingSystem\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.root.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_2_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      memory_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe:\r
-        type: tosca.capabilities.network.Bindable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.vlan1:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      vn_network_list:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema: *id001\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_subport:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.vlan2:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      vn_network_list:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_subport_another:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_another:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_subport_another:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_subport_another:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
\ No newline at end of file
+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.vdbe:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      subinterface_vlan1_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_vdbe_untr_2_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vlan1_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vlan2_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_2_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_vdbe_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_vdbe_untr_2_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_2_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_2_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_vdbe_untr_1_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      subinterface_vlan2_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vlan2_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_2_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      subinterface_vlan1_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vlan2_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_2_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan2_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_2_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan2_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan1_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_2_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_2_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      subinterface_vlan1_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vlan2_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vlan1_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_aap_untrusted_ip_prefix_len:
+        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
+      subinterface_vlan2_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan1_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+    attributes:
+      vdbe_vdbe_untr_1_port_vlan1_vlan_tag_list:
+        type: list
+        status: SUPPORTED
+        entry_schema: &id001
+          type: string
+    requirements:
+    - dependency_vdbe:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_vdbe:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_vdbe_untr_2_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_2_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe_vdbe_untr_2_port_vlan2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe_vdbe_untr_1_port_vlan1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_vdbe:
+        type: org.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_vdbe_vdbe_untr_2_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port_vlan1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe_vdbe_untr_1_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.allocation_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe_vdbe_untr_2_port_vlan2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.bytes.rate_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_2_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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
+      os_vdbe:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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.root.size_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe_vdbe_untr_2_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      memory_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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.vlan1:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      vn_network_list:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema: *id001
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_subport:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_subport:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.subinterface.vlan2:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      vn_network_list:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_subport_another:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_another:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_subport_another:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_subport_another:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
index 7701a81..2f990e6 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Main\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-topology_template:\r
-  inputs:\r
-    vf_module_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vf_module_id\r
-      type: string\r
-      description: Unique ID for this VF module inst\r
-    fabric_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the fabric virtual network\r
-    control_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the control virtual network\r
-    control_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the control virtual network\r
-    vnf_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_name\r
-      type: string\r
-      description: Unique name for this VF instance\r
-    vdbe_untrusted_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_ip_1\r
-      type: string\r
-      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-    aap_address_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: aap_address_mode\r
-      type: string\r
-      description: Address mode for the vDBE cluster IP\r
-    control_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_shared\r
-      type: boolean\r
-      description: control virtual network shared\r
-    vdbe_untrusted_v6_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_v6_ip_1\r
-      type: string\r
-      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_untrusted_vmac_address:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_vmac_address\r
-      type: string\r
-      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network\r
-    control_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the control virtual network\r
-    vdbe_aap_sec_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-    vnf_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_id\r
-      type: string\r
-      description: Unique ID for this VF inst\r
-    vdbe_name_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_name_1\r
-      type: string\r
-      description: VM Name for this vdbe node 1\r
-    availability_zone_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: availability_zone_1\r
-      type: string\r
-      description: The availability zone of secondary node1 vDBE vm in the local HA pair.\r
-    untrusted_vn_networks:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vn_networks\r
-      type: list\r
-      description: List of subinterface virtual networks\r
-      entry_schema:\r
-        type: string\r
-    vdbe_image_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_image_name\r
-      type: string\r
-      description: Image to use for vDBE\r
-    oam_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: oam_net_name\r
-      type: string\r
-      description: Name of NSDNet network from which the management IP addresses will be allocated\r
-    vdbe_aap_sec_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix\r
-      type: string\r
-      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix_len\r
-      type: string\r
-      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-    fabric_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the fabric virtual network\r
-    untrusted_vlan_tags:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vlan_tags\r
-      type: list\r
-      description: List of subinterface vlan tags\r
-      entry_schema:\r
-        type: string\r
-    vdbe_flavor_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_flavor_name\r
-      type: string\r
-      description: Flavor to use for vDBE\r
-    counter:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: counter\r
-      type: float\r
-      description: Counter.\r
-    fabric_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the fabric virtual network\r
-    fabric_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_shared\r
-      description: fabric virtual network shared\r
-    vdbe_hw_untr_mac_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_hw_untr_mac_1\r
-      type: string\r
-      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network\r
-    untrusted_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_net_name\r
-      type: string\r
-      description: Name of public untrusted network into which this vDBE HA cluster is deployed\r
-    vdbe_device_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_device_name\r
-      type: string\r
-      description: VDBE device Name for this vdbe VNF\r
-    vdbe_aap_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-  node_templates:\r
-    fabric_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template:\r
-              get_attribute:\r
-              - abstract_vdbe\r
-              - vdbe_vdbe_untr_1_port_vlan1_vlan_tag_list\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-    control_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: VNF_NAME_control_net\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-    abstract_vdbe:\r
-      type: org.openecomp.resource.abstract.nodes.vdbe\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        subinterface_vlan1_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        subinterface_vlan1_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        subinterface_vlan1_vmac_address:\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        compute_vdbe_availability_zone:\r
-        - get_input: availability_zone_1\r
-        port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        vm_flavor_name:\r
-          get_input: vdbe_flavor_name\r
-        subinterface_vlan1_counter:\r
-        - get_input: counter\r
-        subinterface_vlan2_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        vm_image_name:\r
-          get_input: vdbe_image_name\r
-        compute_vdbe_metadata:\r
-        - vf_module_id:\r
-            get_input: vf_module_id\r
-          vnf_id:\r
-            get_input: vnf_id\r
-          vnf_name:\r
-            get_input: vnf_name\r
-        subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        subinterface_vlan2_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        subinterface_vlan2_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        subinterface_vlan2_parent_interface:\r
-        - vdbe_untr_2_port\r
-        subinterface_vlan2_aap_address_mode:\r
-        - get_input: aap_address_mode\r
-        subinterface_vlan1_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vlan2_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vlan1_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_vlan1_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        subinterface_vlan2_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        compute_vdbe_name:\r
-        - get_input: vdbe_name_1\r
-        subinterface_vlan2_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        subinterface_vlan1_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        subinterface_vlan2_vmac_address:\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        subinterface_vlan1_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        port_vdbe_untr_2_port_virtual_network_refs:\r
-        - - fabric_int_net\r
-        subinterface_vlan2_vn_network_list:\r
-        - fabric_int_net\r
-        subinterface_vlan1_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        port_vdbe_untr_2_port_name:\r
-        - Port_2\r
-        port_vdbe_untr_1_port_virtual_network_refs:\r
-        - - control_int_net\r
-        subinterface_vlan2_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        subinterface_vlan1_vn_network_list:\r
-        - get_input: untrusted_vn_networks\r
-        subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        subinterface_vlan2_counter:\r
-        - get_input: counter\r
-        subinterface_vlan1_parent_interface:\r
-        - vdbe_untr_1_port\r
-        subinterface_vlan1_aap_address_mode:\r
-        - get_attribute:\r
-          - fabric_int_net\r
-          - network_name\r
-        subinterface_vlan2_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_vlan2_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        port_vdbe_untr_1_port_name:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vlan1_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        service_template_filter:\r
-          substitute_service_template: Nested_vdbeServiceTemplate.yaml\r
-          count: 1\r
-        index_value:\r
-          get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-      requirements:\r
-      - link_vdbe_vdbe_untr_1_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: control_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-      - link_vdbe_vdbe_untr_2_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: fabric_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-      - link_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: fabric_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-  groups:\r
-    main_group:\r
-      type: org.openecomp.groups.heat.HeatStack\r
-      properties:\r
-        heat_file: ../Artifacts/main.yml\r
-        description: |\r
-          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)\r
-      members:\r
-      - fabric_int_net\r
-      - control_int_net\r
-      - abstract_vdbe\r
\ No newline at end of file
+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:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF module inst
+    fabric_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the fabric virtual network
+    control_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the control virtual network
+    control_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the control virtual network
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vdbe_untrusted_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_ip_1
+      type: string
+      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
+    aap_address_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: aap_address_mode
+      type: string
+      description: Address mode for the vDBE cluster IP
+    control_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_shared
+      type: boolean
+      description: control virtual network shared
+    vdbe_untrusted_v6_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_v6_ip_1
+      type: string
+      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_untrusted_vmac_address:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_vmac_address
+      type: string
+      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
+    control_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the control virtual network
+    vdbe_aap_sec_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix
+      type: string
+      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF inst
+    vdbe_name_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_name_1
+      type: string
+      description: VM Name for this vdbe node 1
+    availability_zone_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_1
+      type: string
+      description: The availability zone of secondary node1 vDBE vm in the local HA pair.
+    untrusted_vn_networks:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vn_networks
+      type: list
+      description: List of subinterface virtual networks
+      entry_schema:
+        type: string
+    vdbe_image_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_image_name
+      type: string
+      description: Image to use for vDBE
+    oam_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: Name of NSDNet network from which the management IP addresses will be allocated
+    vdbe_aap_sec_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix
+      type: string
+      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix_len
+      type: string
+      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+    fabric_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the fabric virtual network
+    untrusted_vlan_tags:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vlan_tags
+      type: list
+      description: List of subinterface vlan tags
+      entry_schema:
+        type: string
+    vdbe_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_flavor_name
+      type: string
+      description: Flavor to use for vDBE
+    counter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: counter
+      type: float
+      description: Counter.
+    fabric_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the fabric virtual network
+    fabric_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_shared
+      description: fabric virtual network shared
+    vdbe_hw_untr_mac_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_hw_untr_mac_1
+      type: string
+      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
+    untrusted_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_net_name
+      type: string
+      description: Name of public untrusted network into which this vDBE HA cluster is deployed
+    vdbe_device_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_device_name
+      type: string
+      description: VDBE device Name for this vdbe VNF
+    vdbe_aap_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix
+      type: string
+      description: ip prefix for primary vDBE VM on the VAN untrusted network
+  node_templates:
+    fabric_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template:
+              get_attribute:
+              - abstract_vdbe
+              - vdbe_vdbe_untr_1_port_vlan1_vlan_tag_list
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    control_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: VNF_NAME_control_net
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    abstract_vdbe:
+      type: org.openecomp.resource.abstract.nodes.vdbe
+      directives:
+      - substitutable
+      properties:
+        subinterface_vlan1_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        subinterface_vlan1_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        subinterface_vlan1_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        compute_vdbe_availability_zone:
+        - get_input: availability_zone_1
+        port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        vm_flavor_name:
+          get_input: vdbe_flavor_name
+        subinterface_vlan1_counter:
+        - get_input: counter
+        subinterface_vlan2_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        vm_image_name:
+          get_input: vdbe_image_name
+        compute_vdbe_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        subinterface_vlan2_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        subinterface_vlan2_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_vlan2_parent_interface:
+        - vdbe_untr_2_port
+        subinterface_vlan2_aap_address_mode:
+        - get_input: aap_address_mode
+        subinterface_vlan1_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        subinterface_vlan2_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        subinterface_vlan1_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_vlan1_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        subinterface_vlan2_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        compute_vdbe_name:
+        - get_input: vdbe_name_1
+        subinterface_vlan2_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        subinterface_vlan1_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_vlan2_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        subinterface_vlan1_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        port_vdbe_untr_2_port_virtual_network_refs:
+        - - fabric_int_net
+        subinterface_vlan2_vn_network_list:
+        - fabric_int_net
+        subinterface_vlan1_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        port_vdbe_untr_2_port_name:
+        - Port_2
+        port_vdbe_untr_1_port_virtual_network_refs:
+        - - control_int_net
+        subinterface_vlan2_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        subinterface_vlan1_vn_network_list:
+        - get_input: untrusted_vn_networks
+        subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_vlan1_service_template_filter_count:
+        - get_input: untrusted_num_vn
+        subinterface_vlan2_counter:
+        - get_input: counter
+        subinterface_vlan1_parent_interface:
+        - vdbe_untr_1_port
+        subinterface_vlan1_aap_address_mode:
+        - get_attribute:
+          - fabric_int_net
+          - network_name
+        subinterface_vlan2_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_vlan2_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        port_vdbe_untr_1_port_name:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_vlan2_service_template_filter_count:
+        - 5
+        subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        subinterface_vlan1_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        service_template_filter:
+          substitute_service_template: Nested_vdbeServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_vdbe_vdbe_untr_1_port:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          relationship: tosca.relationships.network.LinksTo
+      - link_vdbe_vdbe_untr_2_port:
+          capability: tosca.capabilities.network.Linkable
+          node: fabric_int_net
+          relationship: tosca.relationships.network.LinksTo
+      - link_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:
+          capability: tosca.capabilities.network.Linkable
+          node: fabric_int_net
+          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:
+      - fabric_int_net
+      - control_int_net
+      - abstract_vdbe
\ No newline at end of file
index 23204af..aa35c77 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Nested_vdbe\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-node_types:\r
-  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:\r
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server\r
-topology_template:\r
-  inputs:\r
-    subinterface_vlan1_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_availability_zone:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    port_vdbe_untr_2_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    vm_flavor_name:\r
-      type: string\r
-      required: true\r
-    untrusted_num_vn:\r
-      hidden: false\r
-      immutable: false\r
-      type: float\r
-      description: Number of vDBE subinterface virtual Networks\r
-      constraints:\r
-      - in_range:\r
-        - 1\r
-        - 77\r
-    subinterface_vlan1_counter:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: float\r
-    subinterface_vlan2_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_image_name:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_2_port_network_role:\r
-      type: string\r
-      required: true\r
-    compute_vdbe_metadata:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-    port_vdbe_untr_2_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_2_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    port_vdbe_untr_2_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-    port_vdbe_untr_1_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    port_vdbe_untr_1_port_order:\r
-      type: integer\r
-      required: true\r
-    subinterface_vlan2_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    subinterface_vlan2_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_2_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    subinterface_vlan1_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    subinterface_vlan2_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_2_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan2_vn_network_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_2_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan2_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan1_vn_network_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_2_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_2_port_order:\r
-      type: integer\r
-      required: true\r
-    subinterface_vlan2_counter:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: float\r
-    subinterface_vlan1_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    index_value:\r
-      type: integer\r
-      description: Index value of this substitution service template runtime instance\r
-      required: false\r
-      default: 0\r
-      constraints:\r
-      - greater_or_equal: 0\r
-    subinterface_vlan2_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    port_vdbe_untr_1_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    port_vdbe_untr_1_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan1_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-  node_templates:\r
-    vdbe:\r
-      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe\r
-      properties:\r
-        availability_zone:\r
-          get_input:\r
-          - compute_vdbe_availability_zone\r
-          - index_value\r
-        flavor:\r
-          get_input: vm_flavor_name\r
-        metadata:\r
-          get_input:\r
-          - compute_vdbe_metadata\r
-          - index_value\r
-        image:\r
-          get_input: vm_image_name\r
-        name:\r
-          get_input:\r
-          - compute_vdbe_name\r
-          - index_value\r
-    vdbe_vdbe_untr_2_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_2_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_2_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_2_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_2_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_2_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_2_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_2_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_2_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_2_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_2_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe_vdbe_untr_2_port_vlan2:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.vlan2\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan2_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan2_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_vlan2_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_input:\r
-          - subinterface_vlan2_counter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_vlan2_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_vlan2_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_vlan2_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: vlan2ServiceTemplate.yaml\r
-          count: 5\r
-          mandatory: true\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan2_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_vlan2_parent_interface\r
-          - index_value\r
-        vn_network_list:\r
-          get_input:\r
-          - subinterface_vlan2_vn_network_list\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_vlan2_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_vlan2_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan2_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_vlan2_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan2_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan2_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_subport_another:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_2_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe_vdbe_untr_1_port_vlan1:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.vlan1\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_vlan1_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_input:\r
-          - subinterface_vlan1_counter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_vlan1_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_vlan1_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: vlan1ServiceTemplate.yaml\r
-          count:\r
-            get_input: untrusted_num_vn\r
-          mandatory: false\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_vlan1_parent_interface\r
-          - index_value\r
-        vn_network_list:\r
-          get_input:\r
-          - subinterface_vlan1_vn_network_list\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_vlan1_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_vlan1_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan1_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_vlan1_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_subport:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_1_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe_vdbe_untr_1_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_1_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_1_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_1_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_1_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_1_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_1_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_1_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_1_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-  outputs:\r
-    vdbe_vdbe_untr_1_port_vlan1_vlan_tag_list:\r
-      type: list\r
-      value:\r
-        get_attribute:\r
-        - vdbe_vdbe_untr_1_port_vlan1\r
-        - vlan_tag_list\r
-      entry_schema:\r
-        type: string\r
-  substitution_mappings:\r
-    node_type: org.openecomp.resource.abstract.nodes.vdbe\r
-    capabilities:\r
-      feature_vdbe:\r
-      - vdbe\r
-      - feature\r
-      disk.device.iops_vdbe:\r
-      - vdbe\r
-      - disk.device.iops\r
-      endpoint_vdbe:\r
-      - vdbe\r
-      - endpoint\r
-      disk.ephemeral.size_vdbe:\r
-      - vdbe\r
-      - disk.ephemeral.size\r
-      feature_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - feature\r
-      cpu_util_vdbe:\r
-      - vdbe\r
-      - cpu_util\r
-      vcpus_vdbe:\r
-      - vdbe\r
-      - vcpus\r
-      disk.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.write.requests\r
-      feature_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - feature\r
-      disk.device.latency_vdbe:\r
-      - vdbe\r
-      - disk.device.latency\r
-      disk.device.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests.rate\r
-      network.incoming.packets_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.incoming.packets\r
-      feature_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - feature\r
-      disk.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes.rate\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes.rate\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets.rate\r
-      scalable_vdbe:\r
-      - vdbe\r
-      - scalable\r
-      disk.iops_vdbe:\r
-      - vdbe\r
-      - disk.iops\r
-      disk.device.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests\r
-      disk.device.capacity_vdbe:\r
-      - vdbe\r
-      - disk.device.capacity\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.outgoing.bytes.rate\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes\r
-      disk.device.allocation_vdbe:\r
-      - vdbe\r
-      - disk.device.allocation\r
-      disk.usage_vdbe:\r
-      - vdbe\r
-      - disk.usage\r
-      memory.usage_vdbe:\r
-      - vdbe\r
-      - memory.usage\r
-      network.outpoing.packets_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.outpoing.packets\r
-      disk.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.read.requests\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - feature_vdbe_untr_x_subport\r
-      instance_vdbe:\r
-      - vdbe\r
-      - instance\r
-      cpu.delta_vdbe:\r
-      - vdbe\r
-      - cpu.delta\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.outgoing.packets.rate\r
-      feature_vdbe_vdbe_untr_2_port_vlan2:\r
-      - vdbe_vdbe_untr_2_port_vlan2\r
-      - feature\r
-      binding_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - binding\r
-      disk.device.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes.rate\r
-      disk.device.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes.rate\r
-      memory.resident_vdbe:\r
-      - vdbe\r
-      - memory.resident\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - forwarder\r
-      disk.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.requests.rate\r
-      cpu_vdbe:\r
-      - vdbe\r
-      - cpu\r
-      disk.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes\r
-      forwarder_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - forwarder\r
-      disk.device.usage_vdbe:\r
-      - vdbe\r
-      - disk.device.usage\r
-      disk.device.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes\r
-      disk.latency_vdbe:\r
-      - vdbe\r
-      - disk.latency\r
-      feature_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:\r
-      - vdbe_vdbe_untr_2_port_vlan2\r
-      - feature_vdbe_untr_x_subport_another\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.packets.rate\r
-      disk.capacity_vdbe:\r
-      - vdbe\r
-      - disk.capacity\r
-      host_vdbe:\r
-      - vdbe\r
-      - host\r
-      disk.allocation_vdbe:\r
-      - vdbe\r
-      - disk.allocation\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outpoing.packets\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets\r
-      disk.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes.rate\r
-      network.incoming.bytes_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.incoming.bytes\r
-      os_vdbe:\r
-      - vdbe\r
-      - os\r
-      disk.device.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.incoming.packets.rate\r
-      disk.root.size_vdbe:\r
-      - vdbe\r
-      - disk.root.size\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.incoming.bytes.rate\r
-      binding_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - binding\r
-      memory_vdbe:\r
-      - vdbe\r
-      - memory\r
-      binding_vdbe:\r
-      - vdbe\r
-      - binding\r
-      disk.device.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes\r
-      network.outgoing.bytes_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.outgoing.bytes\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes.rate\r
-      disk.device.read.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests.rate\r
-      disk.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes\r
-    requirements:\r
-      dependency_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:\r
-      - vdbe_vdbe_untr_2_port_vlan2\r
-      - dependency_vdbe_untr_x_subport_another\r
-      dependency_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - dependency\r
-      link_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - link\r
-      local_storage_vdbe:\r
-      - vdbe\r
-      - local_storage\r
-      dependency_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - dependency\r
-      dependency_vdbe_vdbe_untr_2_port_vlan2:\r
-      - vdbe_vdbe_untr_2_port_vlan2\r
-      - dependency\r
-      dependency_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - dependency\r
-      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - link_vdbe_untr_x_subport\r
-      link_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - link\r
-      link_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:\r
-      - vdbe_vdbe_untr_2_port_vlan2\r
-      - link_vdbe_untr_x_subport_another\r
-      dependency_vdbe:\r
-      - vdbe\r
-      - dependency\r
-      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - dependency_vdbe_untr_x_subport\r
\ No newline at end of file
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_vdbe
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    subinterface_vlan1_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_vdbe_untr_2_port_network_role_tag:
+      type: string
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_vlan1_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vlan2_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_image_name:
+      type: string
+      required: true
+    port_vdbe_untr_2_port_network_role:
+      type: string
+      required: true
+    compute_vdbe_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_vdbe_untr_2_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_2_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_vdbe_untr_2_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_vdbe_untr_1_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_vdbe_untr_1_port_order:
+      type: integer
+      required: true
+    subinterface_vlan2_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_subnetpoolid:
+      type: string
+      required: true
+    subinterface_vlan2_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_2_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    subinterface_vlan1_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role_tag:
+      type: string
+      required: true
+    subinterface_vlan2_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_2_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan2_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role:
+      type: string
+      required: true
+    port_vdbe_untr_2_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan2_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan1_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_2_port_subnetpoolid:
+      type: string
+      required: true
+    port_vdbe_untr_2_port_order:
+      type: integer
+      required: true
+    subinterface_vlan1_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vlan2_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vlan1_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_aap_untrusted_ip_prefix_len:
+      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
+    subinterface_vlan2_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_vdbe_untr_1_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    port_vdbe_untr_1_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan1_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+  node_templates:
+    vdbe:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
+      properties:
+        availability_zone:
+          get_input:
+          - compute_vdbe_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_vdbe_metadata
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_vdbe_name
+          - index_value
+    vdbe_vdbe_untr_2_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_2_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_2_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_2_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_2_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_2_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_2_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_2_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_2_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_2_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_2_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+    vdbe_vdbe_untr_2_port_vlan2:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.vlan2
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vlan2_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vlan2_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_vlan2_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_vlan2_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_vlan2_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_vlan2_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_vlan2_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_vlan2_service_template_filter_count
+            - index_value
+          substitute_service_template: vlan2ServiceTemplate.yaml
+          mandatory: true
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_vlan2_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_vlan2_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_vlan2_vn_network_list
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_vlan2_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_vlan2_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vlan2_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_vlan2_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_vlan2_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vlan2_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_subport_another:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_2_port
+          relationship: tosca.relationships.network.BindsTo
+    vdbe_vdbe_untr_1_port_vlan1:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.vlan1
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vlan1_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_vlan1_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_vlan1_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_vlan1_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_vlan1_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_vlan1_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_vlan1_service_template_filter_count
+            - index_value
+          substitute_service_template: vlan1ServiceTemplate.yaml
+          mandatory: false
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_vlan1_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_vlan1_vn_network_list
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_vlan1_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_vlan1_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vlan1_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_vlan1_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_1_port
+          relationship: tosca.relationships.network.BindsTo
+    vdbe_vdbe_untr_1_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_1_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_1_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_1_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_1_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_1_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_1_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_1_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_1_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_1_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+  outputs:
+    vdbe_vdbe_untr_1_port_vlan1_vlan_tag_list:
+      type: list
+      value:
+        get_attribute:
+        - vdbe_vdbe_untr_1_port_vlan1
+        - vlan_tag_list
+      entry_schema:
+        type: string
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.vdbe
+    capabilities:
+      feature_vdbe:
+      - vdbe
+      - feature
+      disk.device.iops_vdbe:
+      - vdbe
+      - disk.device.iops
+      endpoint_vdbe:
+      - vdbe
+      - endpoint
+      disk.ephemeral.size_vdbe:
+      - vdbe
+      - disk.ephemeral.size
+      feature_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - feature
+      cpu_util_vdbe:
+      - vdbe
+      - cpu_util
+      vcpus_vdbe:
+      - vdbe
+      - vcpus
+      disk.write.requests_vdbe:
+      - vdbe
+      - disk.write.requests
+      feature_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - feature
+      disk.device.latency_vdbe:
+      - vdbe
+      - disk.device.latency
+      disk.device.write.requests.rate_vdbe:
+      - vdbe
+      - disk.device.write.requests.rate
+      network.incoming.packets_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.incoming.packets
+      feature_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - feature
+      disk.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.write.bytes.rate
+      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes.rate
+      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets.rate
+      scalable_vdbe:
+      - vdbe
+      - scalable
+      disk.iops_vdbe:
+      - vdbe
+      - disk.iops
+      disk.device.write.requests_vdbe:
+      - vdbe
+      - disk.device.write.requests
+      disk.device.capacity_vdbe:
+      - vdbe
+      - disk.device.capacity
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.outgoing.bytes.rate
+      network.outgoing.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes
+      disk.device.allocation_vdbe:
+      - vdbe
+      - disk.device.allocation
+      disk.usage_vdbe:
+      - vdbe
+      - disk.usage
+      memory.usage_vdbe:
+      - vdbe
+      - memory.usage
+      network.outpoing.packets_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.outpoing.packets
+      disk.read.requests_vdbe:
+      - vdbe
+      - disk.read.requests
+      network.incoming.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes
+      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - feature_vdbe_untr_x_subport
+      instance_vdbe:
+      - vdbe
+      - instance
+      cpu.delta_vdbe:
+      - vdbe
+      - cpu.delta
+      network.outgoing.packets.rate_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.outgoing.packets.rate
+      feature_vdbe_vdbe_untr_2_port_vlan2:
+      - vdbe_vdbe_untr_2_port_vlan2
+      - feature
+      binding_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - binding
+      disk.device.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.read.bytes.rate
+      disk.device.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.write.bytes.rate
+      memory.resident_vdbe:
+      - vdbe
+      - memory.resident
+      forwarder_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - forwarder
+      disk.write.requests.rate_vdbe:
+      - vdbe
+      - disk.write.requests.rate
+      cpu_vdbe:
+      - vdbe
+      - cpu
+      disk.write.bytes_vdbe:
+      - vdbe
+      - disk.write.bytes
+      forwarder_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - forwarder
+      disk.device.usage_vdbe:
+      - vdbe
+      - disk.device.usage
+      disk.device.read.bytes_vdbe:
+      - vdbe
+      - disk.device.read.bytes
+      disk.latency_vdbe:
+      - vdbe
+      - disk.latency
+      feature_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:
+      - vdbe_vdbe_untr_2_port_vlan2
+      - feature_vdbe_untr_x_subport_another
+      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.packets.rate
+      disk.capacity_vdbe:
+      - vdbe
+      - disk.capacity
+      host_vdbe:
+      - vdbe
+      - host
+      disk.allocation_vdbe:
+      - vdbe
+      - disk.allocation
+      network.outpoing.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outpoing.packets
+      network.incoming.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets
+      disk.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.read.bytes.rate
+      network.incoming.bytes_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.incoming.bytes
+      os_vdbe:
+      - vdbe
+      - os
+      disk.device.read.requests_vdbe:
+      - vdbe
+      - disk.device.read.requests
+      network.incoming.packets.rate_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.incoming.packets.rate
+      disk.root.size_vdbe:
+      - vdbe
+      - disk.root.size
+      network.incoming.bytes.rate_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.incoming.bytes.rate
+      binding_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - binding
+      memory_vdbe:
+      - vdbe
+      - memory
+      binding_vdbe:
+      - vdbe
+      - binding
+      disk.device.write.bytes_vdbe:
+      - vdbe
+      - disk.device.write.bytes
+      network.outgoing.bytes_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.outgoing.bytes
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes.rate
+      disk.device.read.requests.rate_vdbe:
+      - vdbe
+      - disk.device.read.requests.rate
+      disk.read.bytes_vdbe:
+      - vdbe
+      - disk.read.bytes
+    requirements:
+      dependency_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:
+      - vdbe_vdbe_untr_2_port_vlan2
+      - dependency_vdbe_untr_x_subport_another
+      dependency_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - dependency
+      link_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - link
+      local_storage_vdbe:
+      - vdbe
+      - local_storage
+      dependency_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - dependency
+      dependency_vdbe_vdbe_untr_2_port_vlan2:
+      - vdbe_vdbe_untr_2_port_vlan2
+      - dependency
+      dependency_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - dependency
+      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - link_vdbe_untr_x_subport
+      link_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - link
+      link_vdbe_untr_x_subport_another_vdbe_vdbe_untr_2_port_vlan2:
+      - vdbe_vdbe_untr_2_port_vlan2
+      - link_vdbe_untr_x_subport_another
+      dependency_vdbe:
+      - vdbe
+      - dependency
+      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - dependency_vdbe_untr_x_subport
index db2e23a..33dbb49 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: GlobalSubstitutionTypes\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-node_types:\r
-  org.openecomp.resource.abstract.nodes.vdbe:\r
-    derived_from: org.openecomp.resource.abstract.nodes.VFC\r
-    properties:\r
-      subinterface_vlan1_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_availability_zone:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_flavor_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      untrusted_num_vn:\r
-        type: float\r
-        description: Number of vDBE subinterface virtual Networks\r
-        required: true\r
-        status: SUPPORTED\r
-        constraints:\r
-        - in_range:\r
-          - 1\r
-          - 77\r
-      subinterface_vlan1_counter:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: float\r
-      subinterface_vlan2_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_image_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      compute_vdbe_metadata:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-      port_vdbe_untr_1_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan2_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan2_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan1_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan2_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_vn_network_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan2_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan1_vn_network_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_counter:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: float\r
-      subinterface_vlan1_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      index_value:\r
-        type: integer\r
-        description: Index value of this substitution service template runtime instance\r
-        required: false\r
-        default: 0\r
-        status: SUPPORTED\r
-        constraints:\r
-        - greater_or_equal: 0\r
-      subinterface_vlan2_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan1_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-    requirements:\r
-    - dependency_vdbe:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - local_storage_vdbe:\r
-        capability: tosca.capabilities.Attachment\r
-        node: tosca.nodes.BlockStorage\r
-        relationship: tosca.relationships.AttachesTo\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_vdbe_untr_1_port_vlan1:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe_vdbe_untr_1_port_vlan2:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      endpoint_vdbe:\r
-        type: tosca.capabilities.Endpoint.Admin\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.ephemeral.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_util_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      vcpus_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port_vlan1:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port_vlan2:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      scalable_vdbe:\r
-        type: tosca.capabilities.Scalable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      instance_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu.delta_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      disk.device.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.resident_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      host_vdbe:\r
-        type: tosca.capabilities.Container\r
-        valid_source_types:\r
-        - tosca.nodes.SoftwareComponent\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      os_vdbe:\r
-        type: tosca.capabilities.OperatingSystem\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.root.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe:\r
-        type: tosca.capabilities.network.Bindable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.vlan1:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      vn_network_list:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_subport:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.vlan2:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      vn_network_list:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_subport_another:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_another:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_subport_another:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_subport_another:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
\ No newline at end of file
+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.vdbe:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      subinterface_vlan1_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vlan1_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vlan2_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_vdbe_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_vdbe_untr_1_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      subinterface_vlan2_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vlan2_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      subinterface_vlan1_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vlan2_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan2_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan1_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vlan2_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vlan1_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_aap_untrusted_ip_prefix_len:
+        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
+      subinterface_vlan2_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan2_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan1_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+    requirements:
+    - dependency_vdbe:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_vdbe:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_vdbe_untr_1_port_vlan1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe_vdbe_untr_1_port_vlan2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port_vlan1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_vdbe_untr_1_port_vlan2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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.allocation_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.bytes.rate_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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.vlan1:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      vn_network_list:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_subport:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_subport:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.heat.subinterface.vlan2:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      vn_network_list:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_subport_another:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_another:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_subport_another:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_subport_another:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
index 38048a8..5b18cab 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Main\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-topology_template:\r
-  inputs:\r
-    vf_module_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vf_module_id\r
-      type: string\r
-      description: Unique ID for this VF module inst\r
-    control_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the control virtual network\r
-    control_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the control virtual network\r
-    vnf_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_name\r
-      type: string\r
-      description: Unique name for this VF instance\r
-    vdbe_untrusted_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_ip_1\r
-      type: string\r
-      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-    aap_address_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: aap_address_mode\r
-      type: string\r
-      description: Address mode for the vDBE cluster IP\r
-    control_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_shared\r
-      type: boolean\r
-      description: control virtual network shared\r
-    vdbe_untrusted_v6_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_v6_ip_1\r
-      type: string\r
-      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_untrusted_vmac_address:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_vmac_address\r
-      type: string\r
-      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network\r
-    control_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the control virtual network\r
-    vdbe_aap_sec_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-    vnf_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_id\r
-      type: string\r
-      description: Unique ID for this VF inst\r
-    vdbe_name_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_name_1\r
-      type: string\r
-      description: VM Name for this vdbe node 1\r
-    availability_zone_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: availability_zone_1\r
-      type: string\r
-      description: The availability zone of secondary node1 vDBE vm in the local HA pair.\r
-    untrusted_vn_networks:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vn_networks\r
-      type: list\r
-      description: List of subinterface virtual networks\r
-      entry_schema:\r
-        type: string\r
-    vdbe_image_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_image_name\r
-      type: string\r
-      description: Image to use for vDBE\r
-    oam_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: oam_net_name\r
-      type: string\r
-      description: Name of NSDNet network from which the management IP addresses will be allocated\r
-    vdbe_aap_sec_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix\r
-      type: string\r
-      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix_len\r
-      type: string\r
-      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-    untrusted_vlan_tags:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vlan_tags\r
-      type: list\r
-      description: List of subinterface vlan tags\r
-      entry_schema:\r
-        type: string\r
-    vdbe_flavor_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_flavor_name\r
-      type: string\r
-      description: Flavor to use for vDBE\r
-    counter:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: counter\r
-      type: float\r
-      description: Counter.\r
-    vdbe_hw_untr_mac_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_hw_untr_mac_1\r
-      type: string\r
-      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network\r
-    untrusted_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_net_name\r
-      type: string\r
-      description: Name of public untrusted network into which this vDBE HA cluster is deployed\r
-    vdbe_device_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_device_name\r
-      type: string\r
-      description: VDBE device Name for this vdbe VNF\r
-    vdbe_aap_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-  node_templates:\r
-    control_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: VNF_NAME_control_net\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-    abstract_vdbe:\r
-      type: org.openecomp.resource.abstract.nodes.vdbe\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        subinterface_vlan1_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        subinterface_vlan1_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        subinterface_vlan1_vmac_address:\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        compute_vdbe_availability_zone:\r
-        - get_input: availability_zone_1\r
-        vm_flavor_name:\r
-          get_input: vdbe_flavor_name\r
-        subinterface_vlan1_counter:\r
-        - get_input: counter\r
-        subinterface_vlan2_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        vm_image_name:\r
-          get_input: vdbe_image_name\r
-        compute_vdbe_metadata:\r
-        - vf_module_id:\r
-            get_input: vf_module_id\r
-          vnf_id:\r
-            get_input: vnf_id\r
-          vnf_name:\r
-            get_input: vnf_name\r
-        subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        subinterface_vlan2_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        subinterface_vlan2_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        subinterface_vlan2_parent_interface:\r
-        - vdbe_untr_1_port\r
-        subinterface_vlan2_aap_address_mode:\r
-        - get_input: aap_address_mode\r
-        subinterface_vlan1_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vlan2_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vlan1_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_vlan1_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        subinterface_vlan2_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        compute_vdbe_name:\r
-        - get_input: vdbe_name_1\r
-        subinterface_vlan2_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        subinterface_vlan1_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        subinterface_vlan2_vmac_address:\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        subinterface_vlan1_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        subinterface_vlan2_vn_network_list:\r
-        - get_input: untrusted_vn_networks\r
-        subinterface_vlan1_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        port_vdbe_untr_1_port_virtual_network_refs:\r
-        - - control_int_net\r
-        subinterface_vlan2_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        subinterface_vlan1_vn_network_list:\r
-        - get_input: untrusted_vn_networks\r
-        subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        subinterface_vlan2_counter:\r
-        - get_input: counter\r
-        subinterface_vlan1_parent_interface:\r
-        - vdbe_untr_1_port\r
-        subinterface_vlan1_aap_address_mode:\r
-        - get_input: aap_address_mode\r
-        subinterface_vlan2_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_vlan2_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        port_vdbe_untr_1_port_name:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vlan1_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        service_template_filter:\r
-          substitute_service_template: Nested_vdbeServiceTemplate.yaml\r
-          count: 1\r
-        index_value:\r
-          get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-      requirements:\r
-      - link_vdbe_vdbe_untr_1_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: control_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-  groups:\r
-    main_group:\r
-      type: org.openecomp.groups.heat.HeatStack\r
-      properties:\r
-        heat_file: ../Artifacts/main.yml\r
-        description: |\r
-          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)\r
-      members:\r
-      - control_int_net\r
-      - abstract_vdbe\r
\ No newline at end of file
+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:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF module inst
+    control_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the control virtual network
+    control_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the control virtual network
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vdbe_untrusted_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_ip_1
+      type: string
+      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
+    aap_address_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: aap_address_mode
+      type: string
+      description: Address mode for the vDBE cluster IP
+    control_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_shared
+      type: boolean
+      description: control virtual network shared
+    vdbe_untrusted_v6_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_v6_ip_1
+      type: string
+      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_untrusted_vmac_address:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_vmac_address
+      type: string
+      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
+    control_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the control virtual network
+    vdbe_aap_sec_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix
+      type: string
+      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF inst
+    vdbe_name_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_name_1
+      type: string
+      description: VM Name for this vdbe node 1
+    availability_zone_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_1
+      type: string
+      description: The availability zone of secondary node1 vDBE vm in the local HA pair.
+    untrusted_vn_networks:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vn_networks
+      type: list
+      description: List of subinterface virtual networks
+      entry_schema:
+        type: string
+    vdbe_image_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_image_name
+      type: string
+      description: Image to use for vDBE
+    oam_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: Name of NSDNet network from which the management IP addresses will be allocated
+    vdbe_aap_sec_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix
+      type: string
+      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix_len
+      type: string
+      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_vlan_tags:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vlan_tags
+      type: list
+      description: List of subinterface vlan tags
+      entry_schema:
+        type: string
+    vdbe_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_flavor_name
+      type: string
+      description: Flavor to use for vDBE
+    counter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: counter
+      type: float
+      description: Counter.
+    vdbe_hw_untr_mac_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_hw_untr_mac_1
+      type: string
+      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
+    untrusted_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_net_name
+      type: string
+      description: Name of public untrusted network into which this vDBE HA cluster is deployed
+    vdbe_device_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_device_name
+      type: string
+      description: VDBE device Name for this vdbe VNF
+    vdbe_aap_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix
+      type: string
+      description: ip prefix for primary vDBE VM on the VAN untrusted network
+  node_templates:
+    control_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: VNF_NAME_control_net
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    abstract_vdbe:
+      type: org.openecomp.resource.abstract.nodes.vdbe
+      directives:
+      - substitutable
+      properties:
+        subinterface_vlan1_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        subinterface_vlan1_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        subinterface_vlan1_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        compute_vdbe_availability_zone:
+        - get_input: availability_zone_1
+        vm_flavor_name:
+          get_input: vdbe_flavor_name
+        subinterface_vlan1_counter:
+        - get_input: counter
+        subinterface_vlan2_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        vm_image_name:
+          get_input: vdbe_image_name
+        compute_vdbe_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        subinterface_vlan2_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        subinterface_vlan2_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_vlan2_parent_interface:
+        - vdbe_untr_1_port
+        subinterface_vlan2_aap_address_mode:
+        - get_input: aap_address_mode
+        subinterface_vlan1_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        subinterface_vlan2_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        subinterface_vlan1_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_vlan1_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        subinterface_vlan2_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        compute_vdbe_name:
+        - get_input: vdbe_name_1
+        subinterface_vlan2_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        subinterface_vlan1_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_vlan2_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        subinterface_vlan1_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        subinterface_vlan2_vn_network_list:
+        - get_input: untrusted_vn_networks
+        subinterface_vlan1_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        port_vdbe_untr_1_port_virtual_network_refs:
+        - - control_int_net
+        subinterface_vlan2_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        subinterface_vlan1_vn_network_list:
+        - get_input: untrusted_vn_networks
+        subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_vlan1_service_template_filter_count:
+        - get_input: untrusted_num_vn
+        subinterface_vlan2_counter:
+        - get_input: counter
+        subinterface_vlan1_parent_interface:
+        - vdbe_untr_1_port
+        subinterface_vlan1_aap_address_mode:
+        - get_input: aap_address_mode
+        subinterface_vlan2_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_vlan2_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        port_vdbe_untr_1_port_name:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_vlan2_service_template_filter_count:
+        - 5
+        subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        subinterface_vlan1_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        service_template_filter:
+          substitute_service_template: Nested_vdbeServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_vdbe_vdbe_untr_1_port:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          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:
+      - control_int_net
+      - abstract_vdbe
\ No newline at end of file
index d17352a..6e81017 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Nested_vdbe\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-node_types:\r
-  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:\r
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server\r
-topology_template:\r
-  inputs:\r
-    subinterface_vlan1_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_availability_zone:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_flavor_name:\r
-      type: string\r
-      required: true\r
-    untrusted_num_vn:\r
-      hidden: false\r
-      immutable: false\r
-      type: float\r
-      description: Number of vDBE subinterface virtual Networks\r
-      constraints:\r
-      - in_range:\r
-        - 1\r
-        - 77\r
-    subinterface_vlan1_counter:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: float\r
-    subinterface_vlan2_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_image_name:\r
-      type: string\r
-      required: true\r
-    compute_vdbe_metadata:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-    port_vdbe_untr_1_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    port_vdbe_untr_1_port_order:\r
-      type: integer\r
-      required: true\r
-    subinterface_vlan2_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    subinterface_vlan2_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    subinterface_vlan1_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    subinterface_vlan2_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_vn_network_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan2_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan1_vn_network_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_counter:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: float\r
-    subinterface_vlan1_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    index_value:\r
-      type: integer\r
-      description: Index value of this substitution service template runtime instance\r
-      required: false\r
-      default: 0\r
-      constraints:\r
-      - greater_or_equal: 0\r
-    subinterface_vlan2_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    port_vdbe_untr_1_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan1_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-  node_templates:\r
-    vdbe:\r
-      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe\r
-      properties:\r
-        availability_zone:\r
-          get_input:\r
-          - compute_vdbe_availability_zone\r
-          - index_value\r
-        flavor:\r
-          get_input: vm_flavor_name\r
-        metadata:\r
-          get_input:\r
-          - compute_vdbe_metadata\r
-          - index_value\r
-        image:\r
-          get_input: vm_image_name\r
-        name:\r
-          get_input:\r
-          - compute_vdbe_name\r
-          - index_value\r
-    vdbe_vdbe_untr_1_port_vlan1:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.vlan1\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_vlan1_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_input:\r
-          - subinterface_vlan1_counter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_vlan1_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_vlan1_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: vlan1ServiceTemplate.yaml\r
-          count:\r
-            get_input: untrusted_num_vn\r
-          mandatory: false\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_vlan1_parent_interface\r
-          - index_value\r
-        vn_network_list:\r
-          get_input:\r
-          - subinterface_vlan1_vn_network_list\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_vlan1_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_vlan1_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan1_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_vlan1_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_subport:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_1_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe_vdbe_untr_1_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_1_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_1_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_1_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_1_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_1_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_1_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_1_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_1_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe_vdbe_untr_1_port_vlan2:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.vlan2\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan2_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan2_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_vlan2_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_input:\r
-          - subinterface_vlan2_counter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_vlan2_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_vlan2_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_vlan2_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: vlan2ServiceTemplate.yaml\r
-          count: 5\r
-          mandatory: true\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan2_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_vlan2_parent_interface\r
-          - index_value\r
-        vn_network_list:\r
-          get_input:\r
-          - subinterface_vlan2_vn_network_list\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_vlan2_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_vlan2_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan2_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_vlan2_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan2_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan2_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_subport_another:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_1_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-  substitution_mappings:\r
-    node_type: org.openecomp.resource.abstract.nodes.vdbe\r
-    capabilities:\r
-      feature_vdbe:\r
-      - vdbe\r
-      - feature\r
-      feature_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:\r
-      - vdbe_vdbe_untr_1_port_vlan2\r
-      - feature_vdbe_untr_x_subport_another\r
-      disk.device.iops_vdbe:\r
-      - vdbe\r
-      - disk.device.iops\r
-      endpoint_vdbe:\r
-      - vdbe\r
-      - endpoint\r
-      disk.ephemeral.size_vdbe:\r
-      - vdbe\r
-      - disk.ephemeral.size\r
-      cpu_util_vdbe:\r
-      - vdbe\r
-      - cpu_util\r
-      vcpus_vdbe:\r
-      - vdbe\r
-      - vcpus\r
-      disk.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.write.requests\r
-      feature_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - feature\r
-      feature_vdbe_vdbe_untr_1_port_vlan2:\r
-      - vdbe_vdbe_untr_1_port_vlan2\r
-      - feature\r
-      disk.device.latency_vdbe:\r
-      - vdbe\r
-      - disk.device.latency\r
-      disk.device.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests.rate\r
-      feature_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - feature\r
-      disk.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes.rate\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes.rate\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets.rate\r
-      scalable_vdbe:\r
-      - vdbe\r
-      - scalable\r
-      disk.iops_vdbe:\r
-      - vdbe\r
-      - disk.iops\r
-      disk.device.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests\r
-      disk.device.capacity_vdbe:\r
-      - vdbe\r
-      - disk.device.capacity\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes\r
-      disk.device.allocation_vdbe:\r
-      - vdbe\r
-      - disk.device.allocation\r
-      disk.usage_vdbe:\r
-      - vdbe\r
-      - disk.usage\r
-      memory.usage_vdbe:\r
-      - vdbe\r
-      - memory.usage\r
-      disk.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.read.requests\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - feature_vdbe_untr_x_subport\r
-      instance_vdbe:\r
-      - vdbe\r
-      - instance\r
-      cpu.delta_vdbe:\r
-      - vdbe\r
-      - cpu.delta\r
-      binding_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - binding\r
-      disk.device.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes.rate\r
-      disk.device.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes.rate\r
-      memory.resident_vdbe:\r
-      - vdbe\r
-      - memory.resident\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - forwarder\r
-      disk.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.requests.rate\r
-      cpu_vdbe:\r
-      - vdbe\r
-      - cpu\r
-      disk.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes\r
-      disk.device.usage_vdbe:\r
-      - vdbe\r
-      - disk.device.usage\r
-      disk.device.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes\r
-      disk.latency_vdbe:\r
-      - vdbe\r
-      - disk.latency\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.packets.rate\r
-      disk.capacity_vdbe:\r
-      - vdbe\r
-      - disk.capacity\r
-      host_vdbe:\r
-      - vdbe\r
-      - host\r
-      disk.allocation_vdbe:\r
-      - vdbe\r
-      - disk.allocation\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outpoing.packets\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets\r
-      disk.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes.rate\r
-      os_vdbe:\r
-      - vdbe\r
-      - os\r
-      disk.device.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests\r
-      disk.root.size_vdbe:\r
-      - vdbe\r
-      - disk.root.size\r
-      memory_vdbe:\r
-      - vdbe\r
-      - memory\r
-      binding_vdbe:\r
-      - vdbe\r
-      - binding\r
-      disk.device.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes.rate\r
-      disk.device.read.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests.rate\r
-      disk.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes\r
-    requirements:\r
-      link_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:\r
-      - vdbe_vdbe_untr_1_port_vlan2\r
-      - link_vdbe_untr_x_subport_another\r
-      dependency_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - dependency\r
-      local_storage_vdbe:\r
-      - vdbe\r
-      - local_storage\r
-      dependency_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - dependency\r
-      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - link_vdbe_untr_x_subport\r
-      dependency_vdbe_vdbe_untr_1_port_vlan2:\r
-      - vdbe_vdbe_untr_1_port_vlan2\r
-      - dependency\r
-      dependency_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:\r
-      - vdbe_vdbe_untr_1_port_vlan2\r
-      - dependency_vdbe_untr_x_subport_another\r
-      link_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - link\r
-      dependency_vdbe:\r
-      - vdbe\r
-      - dependency\r
-      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - dependency_vdbe_untr_x_subport\r
\ No newline at end of file
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_vdbe
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    subinterface_vlan1_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_vlan1_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vlan2_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_image_name:
+      type: string
+      required: true
+    compute_vdbe_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_vdbe_untr_1_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_vdbe_untr_1_port_order:
+      type: integer
+      required: true
+    subinterface_vlan2_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_subnetpoolid:
+      type: string
+      required: true
+    subinterface_vlan2_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    subinterface_vlan1_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role_tag:
+      type: string
+      required: true
+    subinterface_vlan2_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan2_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan1_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vlan2_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vlan1_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_aap_untrusted_ip_prefix_len:
+      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
+    subinterface_vlan2_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_vdbe_untr_1_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan2_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan1_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+  node_templates:
+    vdbe:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
+      properties:
+        availability_zone:
+          get_input:
+          - compute_vdbe_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_vdbe_metadata
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_vdbe_name
+          - index_value
+    vdbe_vdbe_untr_1_port_vlan1:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.vlan1
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vlan1_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_vlan1_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_vlan1_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_vlan1_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_vlan1_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_vlan1_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_vlan1_service_template_filter_count
+            - index_value
+          substitute_service_template: vlan1ServiceTemplate.yaml
+          mandatory: false
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_vlan1_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_vlan1_vn_network_list
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_vlan1_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_vlan1_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vlan1_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_vlan1_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_1_port
+          relationship: tosca.relationships.network.BindsTo
+    vdbe_vdbe_untr_1_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_1_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_1_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_1_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_1_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_1_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_1_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_1_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_1_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_1_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+    vdbe_vdbe_untr_1_port_vlan2:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.vlan2
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vlan2_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vlan2_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_vlan2_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_vlan2_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_vlan2_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_vlan2_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_vlan2_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_vlan2_service_template_filter_count
+            - index_value
+          substitute_service_template: vlan2ServiceTemplate.yaml
+          mandatory: true
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_vlan2_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_vlan2_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_vlan2_vn_network_list
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_vlan2_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_vlan2_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vlan2_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_vlan2_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_vlan2_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vlan2_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_subport_another:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_1_port
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.vdbe
+    capabilities:
+      feature_vdbe:
+      - vdbe
+      - feature
+      feature_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:
+      - vdbe_vdbe_untr_1_port_vlan2
+      - feature_vdbe_untr_x_subport_another
+      disk.device.iops_vdbe:
+      - vdbe
+      - disk.device.iops
+      endpoint_vdbe:
+      - vdbe
+      - endpoint
+      disk.ephemeral.size_vdbe:
+      - vdbe
+      - disk.ephemeral.size
+      cpu_util_vdbe:
+      - vdbe
+      - cpu_util
+      vcpus_vdbe:
+      - vdbe
+      - vcpus
+      disk.write.requests_vdbe:
+      - vdbe
+      - disk.write.requests
+      feature_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - feature
+      feature_vdbe_vdbe_untr_1_port_vlan2:
+      - vdbe_vdbe_untr_1_port_vlan2
+      - feature
+      disk.device.latency_vdbe:
+      - vdbe
+      - disk.device.latency
+      disk.device.write.requests.rate_vdbe:
+      - vdbe
+      - disk.device.write.requests.rate
+      feature_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - feature
+      disk.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.write.bytes.rate
+      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes.rate
+      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets.rate
+      scalable_vdbe:
+      - vdbe
+      - scalable
+      disk.iops_vdbe:
+      - vdbe
+      - disk.iops
+      disk.device.write.requests_vdbe:
+      - vdbe
+      - disk.device.write.requests
+      disk.device.capacity_vdbe:
+      - vdbe
+      - disk.device.capacity
+      network.outgoing.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes
+      disk.device.allocation_vdbe:
+      - vdbe
+      - disk.device.allocation
+      disk.usage_vdbe:
+      - vdbe
+      - disk.usage
+      memory.usage_vdbe:
+      - vdbe
+      - memory.usage
+      disk.read.requests_vdbe:
+      - vdbe
+      - disk.read.requests
+      network.incoming.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes
+      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - feature_vdbe_untr_x_subport
+      instance_vdbe:
+      - vdbe
+      - instance
+      cpu.delta_vdbe:
+      - vdbe
+      - cpu.delta
+      binding_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - binding
+      disk.device.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.read.bytes.rate
+      disk.device.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.write.bytes.rate
+      memory.resident_vdbe:
+      - vdbe
+      - memory.resident
+      forwarder_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - forwarder
+      disk.write.requests.rate_vdbe:
+      - vdbe
+      - disk.write.requests.rate
+      cpu_vdbe:
+      - vdbe
+      - cpu
+      disk.write.bytes_vdbe:
+      - vdbe
+      - disk.write.bytes
+      disk.device.usage_vdbe:
+      - vdbe
+      - disk.device.usage
+      disk.device.read.bytes_vdbe:
+      - vdbe
+      - disk.device.read.bytes
+      disk.latency_vdbe:
+      - vdbe
+      - disk.latency
+      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.packets.rate
+      disk.capacity_vdbe:
+      - vdbe
+      - disk.capacity
+      host_vdbe:
+      - vdbe
+      - host
+      disk.allocation_vdbe:
+      - vdbe
+      - disk.allocation
+      network.outpoing.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outpoing.packets
+      network.incoming.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets
+      disk.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.read.bytes.rate
+      os_vdbe:
+      - vdbe
+      - os
+      disk.device.read.requests_vdbe:
+      - vdbe
+      - disk.device.read.requests
+      disk.root.size_vdbe:
+      - vdbe
+      - disk.root.size
+      memory_vdbe:
+      - vdbe
+      - memory
+      binding_vdbe:
+      - vdbe
+      - binding
+      disk.device.write.bytes_vdbe:
+      - vdbe
+      - disk.device.write.bytes
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes.rate
+      disk.device.read.requests.rate_vdbe:
+      - vdbe
+      - disk.device.read.requests.rate
+      disk.read.bytes_vdbe:
+      - vdbe
+      - disk.read.bytes
+    requirements:
+      link_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:
+      - vdbe_vdbe_untr_1_port_vlan2
+      - link_vdbe_untr_x_subport_another
+      dependency_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - dependency
+      local_storage_vdbe:
+      - vdbe
+      - local_storage
+      dependency_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - dependency
+      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - link_vdbe_untr_x_subport
+      dependency_vdbe_vdbe_untr_1_port_vlan2:
+      - vdbe_vdbe_untr_1_port_vlan2
+      - dependency
+      dependency_vdbe_untr_x_subport_another_vdbe_vdbe_untr_1_port_vlan2:
+      - vdbe_vdbe_untr_1_port_vlan2
+      - dependency_vdbe_untr_x_subport_another
+      link_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - link
+      dependency_vdbe:
+      - vdbe
+      - dependency
+      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - dependency_vdbe_untr_x_subport
index 7a2233a..36c1a97 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: GlobalSubstitutionTypes\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-node_types:\r
-  org.openecomp.resource.abstract.nodes.vdbe:\r
-    derived_from: org.openecomp.resource.abstract.nodes.VFC\r
-    properties:\r
-      subinterface_vdbe_untr_1_subports_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_availability_zone:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_2_subports_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_flavor_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      untrusted_num_vn:\r
-        type: float\r
-        description: Number of vDBE subinterface virtual Networks\r
-        required: true\r
-        status: SUPPORTED\r
-        constraints:\r
-        - in_range:\r
-          - 1\r
-          - 77\r
-      subinterface_vdbe_untr_1_subports_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_1_subports_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_image_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_metadata:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      port_vdbe_untr_1_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-      subinterface_vdbe_untr_2_subports_counter:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: float\r
-      subinterface_vdbe_untr_2_subports_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_1_subports_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_2_subports_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      port_vdbe_untr_1_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vdbe_untr_1_subports_vn_network_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vdbe_untr_2_subports_vn_network_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_2_subports_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vdbe_untr_2_subports_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_1_subports_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_1_subports_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      index_value:\r
-        type: integer\r
-        description: Index value of this substitution service template runtime instance\r
-        required: false\r
-        default: 0\r
-        status: SUPPORTED\r
-        constraints:\r
-        - greater_or_equal: 0\r
-      subinterface_vdbe_untr_1_subports_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vdbe_untr_2_subports_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_1_subports_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_2_subports_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vdbe_untr_2_subports_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-    requirements:\r
-    - dependency_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - local_storage_vdbe:\r
-        capability: tosca.capabilities.Attachment\r
-        node: tosca.nodes.BlockStorage\r
-        relationship: tosca.relationships.AttachesTo\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      endpoint_vdbe:\r
-        type: tosca.capabilities.Endpoint.Admin\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.ephemeral.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_util_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      vcpus_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      scalable_vdbe:\r
-        type: tosca.capabilities.Scalable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      instance_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu.delta_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      disk.device.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.resident_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      host_vdbe:\r
-        type: tosca.capabilities.Container\r
-        valid_source_types:\r
-        - tosca.nodes.SoftwareComponent\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      os_vdbe:\r
-        type: tosca.capabilities.OperatingSystem\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.root.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe:\r
-        type: tosca.capabilities.network.Bindable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.nested:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      vn_network_list:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_subport:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
\ No newline at end of file
+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.vdbe:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      subinterface_vdbe_untr_1_subports_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_2_subports_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_1_subports_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_1_subports_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_vdbe_untr_1_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      subinterface_vdbe_untr_2_subports_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vdbe_untr_2_subports_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_1_subports_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_2_subports_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_vdbe_untr_1_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      subinterface_vdbe_untr_1_subports_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vdbe_untr_2_subports_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_2_subports_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      subinterface_vdbe_untr_2_subports_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_1_subports_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_1_subports_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      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
+      subinterface_vdbe_untr_1_subports_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_2_subports_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vdbe_untr_1_subports_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      port_vdbe_untr_1_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      subinterface_vdbe_untr_2_subports_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_1_subports_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_2_subports_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vdbe_untr_2_subports_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+    requirements:
+    - dependency_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_vdbe:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      scalable_vdbe:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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.allocation_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.bytes.rate_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      vn_network_list:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_subport:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_subport:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
index b451447..6f735b3 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Main\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-topology_template:\r
-  inputs:\r
-    vf_module_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vf_module_id\r
-      type: string\r
-      description: Unique ID for this VF module inst\r
-    control_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the control virtual network\r
-    control_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the control virtual network\r
-    vnf_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_name\r
-      type: string\r
-      description: Unique name for this VF instance\r
-    vdbe_untrusted_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_ip_1\r
-      type: string\r
-      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-    aap_address_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: aap_address_mode\r
-      type: string\r
-      description: Address mode for the vDBE cluster IP\r
-    control_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_shared\r
-      type: boolean\r
-      description: control virtual network shared\r
-    vdbe_untrusted_v6_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_v6_ip_1\r
-      type: string\r
-      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_untrusted_vmac_address:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_vmac_address\r
-      type: string\r
-      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network\r
-    control_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the control virtual network\r
-    vdbe_aap_sec_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-    vnf_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_id\r
-      type: string\r
-      description: Unique ID for this VF inst\r
-    vdbe_name_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_name_1\r
-      type: string\r
-      description: VM Name for this vdbe node 1\r
-    availability_zone_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: availability_zone_1\r
-      type: string\r
-      description: The availability zone of secondary node1 vDBE vm in the local HA pair.\r
-    untrusted_vn_networks:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vn_networks\r
-      type: list\r
-      description: List of subinterface virtual networks\r
-      entry_schema:\r
-        type: string\r
-    vdbe_image_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_image_name\r
-      type: string\r
-      description: Image to use for vDBE\r
-    oam_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: oam_net_name\r
-      type: string\r
-      description: Name of NSDNet network from which the management IP addresses will be allocated\r
-    vdbe_aap_sec_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix\r
-      type: string\r
-      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix_len\r
-      type: string\r
-      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-    untrusted_vlan_tags:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vlan_tags\r
-      type: list\r
-      description: List of subinterface vlan tags\r
-      entry_schema:\r
-        type: string\r
-    vdbe_flavor_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_flavor_name\r
-      type: string\r
-      description: Flavor to use for vDBE\r
-    counter:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: counter\r
-      type: float\r
-      description: Counter.\r
-    vdbe_hw_untr_mac_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_hw_untr_mac_1\r
-      type: string\r
-      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network\r
-    untrusted_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_net_name\r
-      type: string\r
-      description: Name of public untrusted network into which this vDBE HA cluster is deployed\r
-    vdbe_device_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_device_name\r
-      type: string\r
-      description: VDBE device Name for this vdbe VNF\r
-    vdbe_aap_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-  node_templates:\r
-    control_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: VNF_NAME_control_net\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-    abstract_vdbe:\r
-      type: org.openecomp.resource.abstract.nodes.vdbe\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        subinterface_vdbe_untr_1_subports_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        compute_vdbe_availability_zone:\r
-        - get_input: availability_zone_1\r
-        subinterface_vdbe_untr_2_subports_aap_address_mode:\r
-        - get_input: aap_address_mode\r
-        vm_flavor_name:\r
-          get_input: vdbe_flavor_name\r
-        subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_vdbe_untr_1_subports_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vdbe_untr_1_subports_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        vm_image_name:\r
-          get_input: vdbe_image_name\r
-        subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        compute_vdbe_metadata:\r
-        - vf_module_id:\r
-            get_input: vf_module_id\r
-          vnf_id:\r
-            get_input: vnf_id\r
-          vnf_name:\r
-            get_input: vnf_name\r
-        subinterface_vdbe_untr_2_subports_counter:\r
-        - get_input: counter\r
-        subinterface_vdbe_untr_2_subports_vmac_address:\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        subinterface_vdbe_untr_1_subports_aap_address_mode:\r
-        - get_input: aap_address_mode\r
-        subinterface_vdbe_untr_2_subports_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        subinterface_vdbe_untr_1_subports_vn_network_list:\r
-        - get_input: untrusted_vn_networks\r
-        subinterface_vdbe_untr_2_subports_vn_network_list:\r
-        - get_input: untrusted_vn_networks\r
-        subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        subinterface_vdbe_untr_2_subports_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        subinterface_vdbe_untr_2_subports_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        compute_vdbe_name:\r
-        - get_input: vdbe_name_1\r
-        subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        subinterface_vdbe_untr_1_subports_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        subinterface_vdbe_untr_1_subports_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        port_vdbe_untr_1_port_virtual_network_refs:\r
-        - - control_int_net\r
-        subinterface_vdbe_untr_1_subports_parent_interface:\r
-        - vdbe_untr_1_port\r
-        subinterface_vdbe_untr_2_subports_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        subinterface_vdbe_untr_1_subports_vmac_address:\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        subinterface_vdbe_untr_2_subports_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        port_vdbe_untr_1_port_name:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_vdbe_untr_2_subports_parent_interface:\r
-        - vdbe_untr_1_port\r
-        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        service_template_filter:\r
-          substitute_service_template: Nested_vdbeServiceTemplate.yaml\r
-          count: 1\r
-        index_value:\r
-          get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-      requirements:\r
-      - link_vdbe_vdbe_untr_1_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: control_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-  groups:\r
-    main_group:\r
-      type: org.openecomp.groups.heat.HeatStack\r
-      properties:\r
-        heat_file: ../Artifacts/main.yml\r
-        description: |\r
-          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)\r
-      members:\r
-      - control_int_net\r
-      - abstract_vdbe\r
\ No newline at end of file
+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:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF module inst
+    control_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the control virtual network
+    control_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the control virtual network
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vdbe_untrusted_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_ip_1
+      type: string
+      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
+    aap_address_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: aap_address_mode
+      type: string
+      description: Address mode for the vDBE cluster IP
+    control_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_shared
+      type: boolean
+      description: control virtual network shared
+    vdbe_untrusted_v6_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_v6_ip_1
+      type: string
+      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_untrusted_vmac_address:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_vmac_address
+      type: string
+      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
+    control_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the control virtual network
+    vdbe_aap_sec_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix
+      type: string
+      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF inst
+    vdbe_name_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_name_1
+      type: string
+      description: VM Name for this vdbe node 1
+    availability_zone_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_1
+      type: string
+      description: The availability zone of secondary node1 vDBE vm in the local HA pair.
+    untrusted_vn_networks:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vn_networks
+      type: list
+      description: List of subinterface virtual networks
+      entry_schema:
+        type: string
+    vdbe_image_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_image_name
+      type: string
+      description: Image to use for vDBE
+    oam_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: Name of NSDNet network from which the management IP addresses will be allocated
+    vdbe_aap_sec_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix
+      type: string
+      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix_len
+      type: string
+      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_vlan_tags:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vlan_tags
+      type: list
+      description: List of subinterface vlan tags
+      entry_schema:
+        type: string
+    vdbe_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_flavor_name
+      type: string
+      description: Flavor to use for vDBE
+    counter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: counter
+      type: float
+      description: Counter.
+    vdbe_hw_untr_mac_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_hw_untr_mac_1
+      type: string
+      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
+    untrusted_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_net_name
+      type: string
+      description: Name of public untrusted network into which this vDBE HA cluster is deployed
+    vdbe_device_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_device_name
+      type: string
+      description: VDBE device Name for this vdbe VNF
+    vdbe_aap_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix
+      type: string
+      description: ip prefix for primary vDBE VM on the VAN untrusted network
+  node_templates:
+    control_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: VNF_NAME_control_net
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    abstract_vdbe:
+      type: org.openecomp.resource.abstract.nodes.vdbe
+      directives:
+      - substitutable
+      properties:
+        subinterface_vdbe_untr_1_subports_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        compute_vdbe_availability_zone:
+        - get_input: availability_zone_1
+        subinterface_vdbe_untr_2_subports_aap_address_mode:
+        - get_input: aap_address_mode
+        vm_flavor_name:
+          get_input: vdbe_flavor_name
+        subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_vdbe_untr_1_subports_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        subinterface_vdbe_untr_1_subports_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        vm_image_name:
+          get_input: vdbe_image_name
+        subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        compute_vdbe_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        subinterface_vdbe_untr_2_subports_counter:
+        - get_input: counter
+        subinterface_vdbe_untr_2_subports_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        subinterface_vdbe_untr_1_subports_aap_address_mode:
+        - get_input: aap_address_mode
+        subinterface_vdbe_untr_2_subports_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        subinterface_vdbe_untr_1_subports_vn_network_list:
+        - get_input: untrusted_vn_networks
+        subinterface_vdbe_untr_2_subports_vn_network_list:
+        - get_input: untrusted_vn_networks
+        subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        subinterface_vdbe_untr_2_subports_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_vdbe_untr_2_subports_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        compute_vdbe_name:
+        - get_input: vdbe_name_1
+        subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_vdbe_untr_1_subports_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        subinterface_vdbe_untr_1_subports_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        port_vdbe_untr_1_port_virtual_network_refs:
+        - - control_int_net
+        subinterface_vdbe_untr_1_subports_parent_interface:
+        - vdbe_untr_1_port
+        subinterface_vdbe_untr_2_subports_service_template_filter_count:
+        - 5
+        subinterface_vdbe_untr_1_subports_service_template_filter_count:
+        - get_input: untrusted_num_vn
+        subinterface_vdbe_untr_2_subports_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        subinterface_vdbe_untr_1_subports_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        subinterface_vdbe_untr_2_subports_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        port_vdbe_untr_1_port_name:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_vdbe_untr_2_subports_parent_interface:
+        - vdbe_untr_1_port
+        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        service_template_filter:
+          substitute_service_template: Nested_vdbeServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_vdbe_vdbe_untr_1_port:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          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:
+      - control_int_net
+      - abstract_vdbe
\ No newline at end of file
index 48c11e9..86ece84 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Nested_vdbe\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-node_types:\r
-  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:\r
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server\r
-topology_template:\r
-  inputs:\r
-    subinterface_vdbe_untr_1_subports_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_availability_zone:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_2_subports_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_flavor_name:\r
-      type: string\r
-      required: true\r
-    subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    untrusted_num_vn:\r
-      hidden: false\r
-      immutable: false\r
-      type: float\r
-      description: Number of vDBE subinterface virtual Networks\r
-      constraints:\r
-      - in_range:\r
-        - 1\r
-        - 77\r
-    subinterface_vdbe_untr_1_subports_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_1_subports_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_image_name:\r
-      type: string\r
-      required: true\r
-    subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_metadata:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    port_vdbe_untr_1_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-    subinterface_vdbe_untr_2_subports_counter:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: float\r
-    subinterface_vdbe_untr_2_subports_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_1_subports_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_2_subports_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    port_vdbe_untr_1_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    port_vdbe_untr_1_port_order:\r
-      type: integer\r
-      required: true\r
-    subinterface_vdbe_untr_1_subports_vn_network_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    subinterface_vdbe_untr_2_subports_vn_network_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_2_subports_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    subinterface_vdbe_untr_2_subports_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_1_subports_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_1_subports_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    index_value:\r
-      type: integer\r
-      description: Index value of this substitution service template runtime instance\r
-      required: false\r
-      default: 0\r
-      constraints:\r
-      - greater_or_equal: 0\r
-    subinterface_vdbe_untr_1_subports_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    subinterface_vdbe_untr_2_subports_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_1_subports_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_2_subports_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vdbe_untr_2_subports_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-  node_templates:\r
-    vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: nestedServiceTemplate.yaml\r
-          count:\r
-            get_input: untrusted_num_vn\r
-          mandatory: false\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_parent_interface\r
-          - index_value\r
-        vn_network_list:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_vn_network_list\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_subport:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_1_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe:\r
-      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe\r
-      properties:\r
-        availability_zone:\r
-          get_input:\r
-          - compute_vdbe_availability_zone\r
-          - index_value\r
-        flavor:\r
-          get_input: vm_flavor_name\r
-        metadata:\r
-          get_input:\r
-          - compute_vdbe_metadata\r
-          - index_value\r
-        image:\r
-          get_input: vm_image_name\r
-        name:\r
-          get_input:\r
-          - compute_vdbe_name\r
-          - index_value\r
-    vdbe_vdbe_untr_1_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_1_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_1_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_1_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_1_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_1_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_1_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_1_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_1_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_counter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: nestedServiceTemplate.yaml\r
-          count: 5\r
-          mandatory: true\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_parent_interface\r
-          - index_value\r
-        vn_network_list:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_vn_network_list\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_subport:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_1_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-  substitution_mappings:\r
-    node_type: org.openecomp.resource.abstract.nodes.vdbe\r
-    capabilities:\r
-      feature_vdbe:\r
-      - vdbe\r
-      - feature\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-      - vdbe_vdbe_untr_1_port_vdbe_untr_1_subports\r
-      - feature_vdbe_untr_x_subport\r
-      disk.device.iops_vdbe:\r
-      - vdbe\r
-      - disk.device.iops\r
-      endpoint_vdbe:\r
-      - vdbe\r
-      - endpoint\r
-      disk.ephemeral.size_vdbe:\r
-      - vdbe\r
-      - disk.ephemeral.size\r
-      cpu_util_vdbe:\r
-      - vdbe\r
-      - cpu_util\r
-      vcpus_vdbe:\r
-      - vdbe\r
-      - vcpus\r
-      disk.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.write.requests\r
-      disk.device.latency_vdbe:\r
-      - vdbe\r
-      - disk.device.latency\r
-      disk.device.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests.rate\r
-      feature_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - feature\r
-      disk.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes.rate\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes.rate\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets.rate\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-      - vdbe_vdbe_untr_1_port_vdbe_untr_2_subports\r
-      - feature_vdbe_untr_x_subport\r
-      scalable_vdbe:\r
-      - vdbe\r
-      - scalable\r
-      disk.iops_vdbe:\r
-      - vdbe\r
-      - disk.iops\r
-      disk.device.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests\r
-      disk.device.capacity_vdbe:\r
-      - vdbe\r
-      - disk.device.capacity\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes\r
-      disk.device.allocation_vdbe:\r
-      - vdbe\r
-      - disk.device.allocation\r
-      disk.usage_vdbe:\r
-      - vdbe\r
-      - disk.usage\r
-      memory.usage_vdbe:\r
-      - vdbe\r
-      - memory.usage\r
-      disk.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.read.requests\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes\r
-      feature_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-      - vdbe_vdbe_untr_1_port_vdbe_untr_2_subports\r
-      - feature\r
-      instance_vdbe:\r
-      - vdbe\r
-      - instance\r
-      cpu.delta_vdbe:\r
-      - vdbe\r
-      - cpu.delta\r
-      binding_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - binding\r
-      disk.device.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes.rate\r
-      disk.device.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes.rate\r
-      memory.resident_vdbe:\r
-      - vdbe\r
-      - memory.resident\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - forwarder\r
-      disk.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.requests.rate\r
-      cpu_vdbe:\r
-      - vdbe\r
-      - cpu\r
-      disk.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes\r
-      disk.device.usage_vdbe:\r
-      - vdbe\r
-      - disk.device.usage\r
-      disk.device.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes\r
-      disk.latency_vdbe:\r
-      - vdbe\r
-      - disk.latency\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.packets.rate\r
-      disk.capacity_vdbe:\r
-      - vdbe\r
-      - disk.capacity\r
-      host_vdbe:\r
-      - vdbe\r
-      - host\r
-      disk.allocation_vdbe:\r
-      - vdbe\r
-      - disk.allocation\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outpoing.packets\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets\r
-      feature_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-      - vdbe_vdbe_untr_1_port_vdbe_untr_1_subports\r
-      - feature\r
-      disk.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes.rate\r
-      os_vdbe:\r
-      - vdbe\r
-      - os\r
-      disk.device.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests\r
-      disk.root.size_vdbe:\r
-      - vdbe\r
-      - disk.root.size\r
-      memory_vdbe:\r
-      - vdbe\r
-      - memory\r
-      binding_vdbe:\r
-      - vdbe\r
-      - binding\r
-      disk.device.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes.rate\r
-      disk.device.read.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests.rate\r
-      disk.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes\r
-    requirements:\r
-      dependency_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - dependency\r
-      dependency_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-      - vdbe_vdbe_untr_1_port_vdbe_untr_2_subports\r
-      - dependency\r
-      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-      - vdbe_vdbe_untr_1_port_vdbe_untr_1_subports\r
-      - link_vdbe_untr_x_subport\r
-      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-      - vdbe_vdbe_untr_1_port_vdbe_untr_1_subports\r
-      - dependency_vdbe_untr_x_subport\r
-      local_storage_vdbe:\r
-      - vdbe\r
-      - local_storage\r
-      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-      - vdbe_vdbe_untr_1_port_vdbe_untr_2_subports\r
-      - link_vdbe_untr_x_subport\r
-      dependency_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:\r
-      - vdbe_vdbe_untr_1_port_vdbe_untr_1_subports\r
-      - dependency\r
-      link_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - link\r
-      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:\r
-      - vdbe_vdbe_untr_1_port_vdbe_untr_2_subports\r
-      - dependency_vdbe_untr_x_subport\r
-      dependency_vdbe:\r
-      - vdbe\r
-      - dependency\r
\ No newline at end of file
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_vdbe
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    subinterface_vdbe_untr_1_subports_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_2_subports_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_1_subports_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_1_subports_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_image_name:
+      type: string
+      required: true
+    subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_vdbe_untr_1_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    subinterface_vdbe_untr_2_subports_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vdbe_untr_2_subports_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_1_subports_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_2_subports_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_vdbe_untr_1_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_vdbe_untr_1_port_order:
+      type: integer
+      required: true
+    subinterface_vdbe_untr_1_subports_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_subnetpoolid:
+      type: string
+      required: true
+    subinterface_vdbe_untr_2_subports_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_2_subports_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    subinterface_vdbe_untr_2_subports_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role_tag:
+      type: string
+      required: true
+    subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_1_subports_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_1_subports_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    subinterface_vdbe_untr_1_subports_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_2_subports_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vdbe_untr_1_subports_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    port_vdbe_untr_1_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    subinterface_vdbe_untr_2_subports_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_1_subports_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_2_subports_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vdbe_untr_2_subports_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+  node_templates:
+    vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_ip_v6_address
+          - index_value
+        counter:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_vdbe_untr_1_subports_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
+          mandatory: false
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_vn_network_list
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vdbe_untr_1_subports_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_1_port
+          relationship: tosca.relationships.network.BindsTo
+    vdbe:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
+      properties:
+        availability_zone:
+          get_input:
+          - compute_vdbe_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_vdbe_metadata
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_vdbe_name
+          - index_value
+    vdbe_vdbe_untr_1_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_1_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_1_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_1_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_1_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_1_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_1_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_1_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_1_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_1_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+    vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_vdbe_untr_2_subports_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
+          mandatory: true
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_vn_network_list
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vdbe_untr_2_subports_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_1_port
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.vdbe
+    capabilities:
+      feature_vdbe:
+      - vdbe
+      - feature
+      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+      - vdbe_vdbe_untr_1_port_vdbe_untr_1_subports
+      - feature_vdbe_untr_x_subport
+      disk.device.iops_vdbe:
+      - vdbe
+      - disk.device.iops
+      endpoint_vdbe:
+      - vdbe
+      - endpoint
+      disk.ephemeral.size_vdbe:
+      - vdbe
+      - disk.ephemeral.size
+      cpu_util_vdbe:
+      - vdbe
+      - cpu_util
+      vcpus_vdbe:
+      - vdbe
+      - vcpus
+      disk.write.requests_vdbe:
+      - vdbe
+      - disk.write.requests
+      disk.device.latency_vdbe:
+      - vdbe
+      - disk.device.latency
+      disk.device.write.requests.rate_vdbe:
+      - vdbe
+      - disk.device.write.requests.rate
+      feature_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - feature
+      disk.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.write.bytes.rate
+      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes.rate
+      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets.rate
+      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+      - vdbe_vdbe_untr_1_port_vdbe_untr_2_subports
+      - feature_vdbe_untr_x_subport
+      scalable_vdbe:
+      - vdbe
+      - scalable
+      disk.iops_vdbe:
+      - vdbe
+      - disk.iops
+      disk.device.write.requests_vdbe:
+      - vdbe
+      - disk.device.write.requests
+      disk.device.capacity_vdbe:
+      - vdbe
+      - disk.device.capacity
+      network.outgoing.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes
+      disk.device.allocation_vdbe:
+      - vdbe
+      - disk.device.allocation
+      disk.usage_vdbe:
+      - vdbe
+      - disk.usage
+      memory.usage_vdbe:
+      - vdbe
+      - memory.usage
+      disk.read.requests_vdbe:
+      - vdbe
+      - disk.read.requests
+      network.incoming.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes
+      feature_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+      - vdbe_vdbe_untr_1_port_vdbe_untr_2_subports
+      - feature
+      instance_vdbe:
+      - vdbe
+      - instance
+      cpu.delta_vdbe:
+      - vdbe
+      - cpu.delta
+      binding_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - binding
+      disk.device.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.read.bytes.rate
+      disk.device.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.write.bytes.rate
+      memory.resident_vdbe:
+      - vdbe
+      - memory.resident
+      forwarder_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - forwarder
+      disk.write.requests.rate_vdbe:
+      - vdbe
+      - disk.write.requests.rate
+      cpu_vdbe:
+      - vdbe
+      - cpu
+      disk.write.bytes_vdbe:
+      - vdbe
+      - disk.write.bytes
+      disk.device.usage_vdbe:
+      - vdbe
+      - disk.device.usage
+      disk.device.read.bytes_vdbe:
+      - vdbe
+      - disk.device.read.bytes
+      disk.latency_vdbe:
+      - vdbe
+      - disk.latency
+      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.packets.rate
+      disk.capacity_vdbe:
+      - vdbe
+      - disk.capacity
+      host_vdbe:
+      - vdbe
+      - host
+      disk.allocation_vdbe:
+      - vdbe
+      - disk.allocation
+      network.outpoing.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outpoing.packets
+      network.incoming.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets
+      feature_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+      - vdbe_vdbe_untr_1_port_vdbe_untr_1_subports
+      - feature
+      disk.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.read.bytes.rate
+      os_vdbe:
+      - vdbe
+      - os
+      disk.device.read.requests_vdbe:
+      - vdbe
+      - disk.device.read.requests
+      disk.root.size_vdbe:
+      - vdbe
+      - disk.root.size
+      memory_vdbe:
+      - vdbe
+      - memory
+      binding_vdbe:
+      - vdbe
+      - binding
+      disk.device.write.bytes_vdbe:
+      - vdbe
+      - disk.device.write.bytes
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes.rate
+      disk.device.read.requests.rate_vdbe:
+      - vdbe
+      - disk.device.read.requests.rate
+      disk.read.bytes_vdbe:
+      - vdbe
+      - disk.read.bytes
+    requirements:
+      dependency_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - dependency
+      dependency_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+      - vdbe_vdbe_untr_1_port_vdbe_untr_2_subports
+      - dependency
+      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+      - vdbe_vdbe_untr_1_port_vdbe_untr_1_subports
+      - link_vdbe_untr_x_subport
+      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+      - vdbe_vdbe_untr_1_port_vdbe_untr_1_subports
+      - dependency_vdbe_untr_x_subport
+      local_storage_vdbe:
+      - vdbe
+      - local_storage
+      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+      - vdbe_vdbe_untr_1_port_vdbe_untr_2_subports
+      - link_vdbe_untr_x_subport
+      dependency_vdbe_vdbe_untr_1_port_vdbe_untr_1_subports:
+      - vdbe_vdbe_untr_1_port_vdbe_untr_1_subports
+      - dependency
+      link_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - link
+      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_vdbe_untr_2_subports:
+      - vdbe_vdbe_untr_1_port_vdbe_untr_2_subports
+      - dependency_vdbe_untr_x_subport
+      dependency_vdbe:
+      - vdbe
+      - dependency
index 89fa455..2fafd8e 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: GlobalSubstitutionTypes\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-node_types:\r
-  org.openecomp.resource.abstract.nodes.vdbe:\r
-    derived_from: org.openecomp.resource.abstract.nodes.VFC\r
-    properties:\r
-      subinterface_nested_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      compute_vdbe_availability_zone:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_flavor_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_image_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_metadata:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_nested_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      port_vdbe_untr_1_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-      subinterface_nested_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      index_value:\r
-        type: integer\r
-        description: Index value of this substitution service template runtime instance\r
-        required: false\r
-        default: 0\r
-        status: SUPPORTED\r
-        constraints:\r
-        - greater_or_equal: 0\r
-      subinterface_nested_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_vn_network_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_counter:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: float\r
-      subinterface_nested_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-    requirements:\r
-    - dependency_vdbe_vdbe_untr_1_port_nested:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - local_storage_vdbe:\r
-        capability: tosca.capabilities.Attachment\r
-        node: tosca.nodes.BlockStorage\r
-        relationship: tosca.relationships.AttachesTo\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      endpoint_vdbe:\r
-        type: tosca.capabilities.Endpoint.Admin\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.ephemeral.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_util_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      vcpus_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      scalable_vdbe:\r
-        type: tosca.capabilities.Scalable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      instance_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu.delta_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      disk.device.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.resident_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port_nested:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      host_vdbe:\r
-        type: tosca.capabilities.Container\r
-        valid_source_types:\r
-        - tosca.nodes.SoftwareComponent\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      os_vdbe:\r
-        type: tosca.capabilities.OperatingSystem\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.root.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe:\r
-        type: tosca.capabilities.network.Bindable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.nested:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      vn_network_list:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_subport:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
\ No newline at end of file
+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.vdbe:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      subinterface_nested_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      compute_vdbe_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_nested_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_vdbe_untr_1_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      subinterface_nested_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_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
+      subinterface_nested_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+    requirements:
+    - dependency_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_vdbe:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_vdbe:
+        type: org.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_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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.allocation_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.bytes.rate_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_vdbe_untr_1_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      vn_network_list:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_subport:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_subport:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
index 80e7aee..827c922 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Nested_vdbe\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-node_types:\r
-  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:\r
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server\r
-topology_template:\r
-  inputs:\r
-    subinterface_nested_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    compute_vdbe_availability_zone:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_flavor_name:\r
-      type: string\r
-      required: true\r
-    subinterface_nested_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_image_name:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_network_role:\r
-      type: string\r
-      required: true\r
-    subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_metadata:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_nested_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    port_vdbe_untr_1_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-    subinterface_nested_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    port_vdbe_untr_1_port_order:\r
-      type: integer\r
-      required: true\r
-    index_value:\r
-      type: integer\r
-      description: Index value of this substitution service template runtime instance\r
-      required: false\r
-      default: 0\r
-      constraints:\r
-      - greater_or_equal: 0\r
-    subinterface_nested_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_vn_network_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    port_vdbe_untr_1_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    subinterface_nested_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_counter:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: float\r
-    subinterface_nested_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-  node_templates:\r
-    vdbe_vdbe_untr_1_port_nested:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_nested_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_input:\r
-          - subinterface_nested_counter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_nested_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_nested_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_nested_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: nestedServiceTemplate.yaml\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_nested_parent_interface\r
-          - index_value\r
-        vn_network_list:\r
-          get_input:\r
-          - subinterface_nested_vn_network_list\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_nested_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_nested_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_nested_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_subport:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_1_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe:\r
-      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe\r
-      properties:\r
-        availability_zone:\r
-          get_input:\r
-          - compute_vdbe_availability_zone\r
-          - index_value\r
-        flavor:\r
-          get_input: vm_flavor_name\r
-        metadata:\r
-          get_input:\r
-          - compute_vdbe_metadata\r
-          - index_value\r
-        image:\r
-          get_input: vm_image_name\r
-        name:\r
-          get_input:\r
-          - compute_vdbe_name\r
-          - index_value\r
-    vdbe_vdbe_untr_1_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_1_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_1_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_1_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_1_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_1_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_1_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_1_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_1_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-  substitution_mappings:\r
-    node_type: org.openecomp.resource.abstract.nodes.vdbe\r
-    capabilities:\r
-      feature_vdbe:\r
-      - vdbe\r
-      - feature\r
-      disk.device.iops_vdbe:\r
-      - vdbe\r
-      - disk.device.iops\r
-      endpoint_vdbe:\r
-      - vdbe\r
-      - endpoint\r
-      disk.ephemeral.size_vdbe:\r
-      - vdbe\r
-      - disk.ephemeral.size\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - feature_vdbe_untr_x_subport\r
-      cpu_util_vdbe:\r
-      - vdbe\r
-      - cpu_util\r
-      vcpus_vdbe:\r
-      - vdbe\r
-      - vcpus\r
-      disk.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.write.requests\r
-      disk.device.latency_vdbe:\r
-      - vdbe\r
-      - disk.device.latency\r
-      disk.device.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests.rate\r
-      feature_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - feature\r
-      disk.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes.rate\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes.rate\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets.rate\r
-      scalable_vdbe:\r
-      - vdbe\r
-      - scalable\r
-      disk.iops_vdbe:\r
-      - vdbe\r
-      - disk.iops\r
-      disk.device.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests\r
-      disk.device.capacity_vdbe:\r
-      - vdbe\r
-      - disk.device.capacity\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes\r
-      disk.device.allocation_vdbe:\r
-      - vdbe\r
-      - disk.device.allocation\r
-      disk.usage_vdbe:\r
-      - vdbe\r
-      - disk.usage\r
-      memory.usage_vdbe:\r
-      - vdbe\r
-      - memory.usage\r
-      disk.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.read.requests\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes\r
-      instance_vdbe:\r
-      - vdbe\r
-      - instance\r
-      cpu.delta_vdbe:\r
-      - vdbe\r
-      - cpu.delta\r
-      binding_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - binding\r
-      disk.device.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes.rate\r
-      disk.device.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes.rate\r
-      memory.resident_vdbe:\r
-      - vdbe\r
-      - memory.resident\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - forwarder\r
-      feature_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - feature\r
-      disk.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.requests.rate\r
-      cpu_vdbe:\r
-      - vdbe\r
-      - cpu\r
-      disk.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes\r
-      disk.device.usage_vdbe:\r
-      - vdbe\r
-      - disk.device.usage\r
-      disk.device.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes\r
-      disk.latency_vdbe:\r
-      - vdbe\r
-      - disk.latency\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.packets.rate\r
-      disk.capacity_vdbe:\r
-      - vdbe\r
-      - disk.capacity\r
-      host_vdbe:\r
-      - vdbe\r
-      - host\r
-      disk.allocation_vdbe:\r
-      - vdbe\r
-      - disk.allocation\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outpoing.packets\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets\r
-      disk.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes.rate\r
-      os_vdbe:\r
-      - vdbe\r
-      - os\r
-      disk.device.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests\r
-      disk.root.size_vdbe:\r
-      - vdbe\r
-      - disk.root.size\r
-      memory_vdbe:\r
-      - vdbe\r
-      - memory\r
-      binding_vdbe:\r
-      - vdbe\r
-      - binding\r
-      disk.device.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes.rate\r
-      disk.device.read.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests.rate\r
-      disk.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes\r
-    requirements:\r
-      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - link_vdbe_untr_x_subport\r
-      dependency_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - dependency\r
-      local_storage_vdbe:\r
-      - vdbe\r
-      - local_storage\r
-      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - dependency_vdbe_untr_x_subport\r
-      dependency_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - dependency\r
-      link_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - link\r
-      dependency_vdbe:\r
-      - vdbe\r
-      - dependency\r
\ No newline at end of file
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_vdbe
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    subinterface_nested_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    compute_vdbe_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_nested_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_image_name:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_nested_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_vdbe_untr_1_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    subinterface_nested_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_vdbe_untr_1_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
+    subinterface_nested_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_vdbe_untr_1_port_subnetpoolid:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    subinterface_nested_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role_tag:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+  node_templates:
+    vdbe_vdbe_untr_1_port_nested:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_nested_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_nested_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_nested_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_nested_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_nested_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_nested_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_nested_vn_network_list
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_nested_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_nested_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_nested_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_1_port
+          relationship: tosca.relationships.network.BindsTo
+    vdbe:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
+      properties:
+        availability_zone:
+          get_input:
+          - compute_vdbe_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_vdbe_metadata
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_vdbe_name
+          - index_value
+    vdbe_vdbe_untr_1_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_1_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_1_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_1_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_1_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_1_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_1_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_1_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_1_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_1_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.vdbe
+    capabilities:
+      feature_vdbe:
+      - vdbe
+      - feature
+      disk.device.iops_vdbe:
+      - vdbe
+      - disk.device.iops
+      endpoint_vdbe:
+      - vdbe
+      - endpoint
+      disk.ephemeral.size_vdbe:
+      - vdbe
+      - disk.ephemeral.size
+      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - feature_vdbe_untr_x_subport
+      cpu_util_vdbe:
+      - vdbe
+      - cpu_util
+      vcpus_vdbe:
+      - vdbe
+      - vcpus
+      disk.write.requests_vdbe:
+      - vdbe
+      - disk.write.requests
+      disk.device.latency_vdbe:
+      - vdbe
+      - disk.device.latency
+      disk.device.write.requests.rate_vdbe:
+      - vdbe
+      - disk.device.write.requests.rate
+      feature_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - feature
+      disk.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.write.bytes.rate
+      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes.rate
+      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets.rate
+      scalable_vdbe:
+      - vdbe
+      - scalable
+      disk.iops_vdbe:
+      - vdbe
+      - disk.iops
+      disk.device.write.requests_vdbe:
+      - vdbe
+      - disk.device.write.requests
+      disk.device.capacity_vdbe:
+      - vdbe
+      - disk.device.capacity
+      network.outgoing.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes
+      disk.device.allocation_vdbe:
+      - vdbe
+      - disk.device.allocation
+      disk.usage_vdbe:
+      - vdbe
+      - disk.usage
+      memory.usage_vdbe:
+      - vdbe
+      - memory.usage
+      disk.read.requests_vdbe:
+      - vdbe
+      - disk.read.requests
+      network.incoming.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes
+      instance_vdbe:
+      - vdbe
+      - instance
+      cpu.delta_vdbe:
+      - vdbe
+      - cpu.delta
+      binding_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - binding
+      disk.device.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.read.bytes.rate
+      disk.device.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.write.bytes.rate
+      memory.resident_vdbe:
+      - vdbe
+      - memory.resident
+      forwarder_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - forwarder
+      feature_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - feature
+      disk.write.requests.rate_vdbe:
+      - vdbe
+      - disk.write.requests.rate
+      cpu_vdbe:
+      - vdbe
+      - cpu
+      disk.write.bytes_vdbe:
+      - vdbe
+      - disk.write.bytes
+      disk.device.usage_vdbe:
+      - vdbe
+      - disk.device.usage
+      disk.device.read.bytes_vdbe:
+      - vdbe
+      - disk.device.read.bytes
+      disk.latency_vdbe:
+      - vdbe
+      - disk.latency
+      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.packets.rate
+      disk.capacity_vdbe:
+      - vdbe
+      - disk.capacity
+      host_vdbe:
+      - vdbe
+      - host
+      disk.allocation_vdbe:
+      - vdbe
+      - disk.allocation
+      network.outpoing.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outpoing.packets
+      network.incoming.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets
+      disk.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.read.bytes.rate
+      os_vdbe:
+      - vdbe
+      - os
+      disk.device.read.requests_vdbe:
+      - vdbe
+      - disk.device.read.requests
+      disk.root.size_vdbe:
+      - vdbe
+      - disk.root.size
+      memory_vdbe:
+      - vdbe
+      - memory
+      binding_vdbe:
+      - vdbe
+      - binding
+      disk.device.write.bytes_vdbe:
+      - vdbe
+      - disk.device.write.bytes
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes.rate
+      disk.device.read.requests.rate_vdbe:
+      - vdbe
+      - disk.device.read.requests.rate
+      disk.read.bytes_vdbe:
+      - vdbe
+      - disk.read.bytes
+    requirements:
+      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - link_vdbe_untr_x_subport
+      dependency_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - dependency
+      local_storage_vdbe:
+      - vdbe
+      - local_storage
+      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - dependency_vdbe_untr_x_subport
+      dependency_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - dependency
+      link_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - link
+      dependency_vdbe:
+      - vdbe
+      - dependency
index a60e6c2..5d85386 100644 (file)
@@ -26,6 +26,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: json
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       subinterface_nested_aap_untrusted_v6_ip_prefix_len:
         type: list
         required: true
@@ -36,15 +42,6 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      untrusted_num_vn:
-        type: float
-        description: Number of vDBE subinterface virtual Networks
-        required: true
-        status: SUPPORTED
-        constraints:
-        - in_range:
-          - 1
-          - 77
       subinterface_nested_aap_untrusted_ip_prefix:
         type: list
         required: true
index 817d62f..8d01152 100644 (file)
@@ -99,6 +99,23 @@ topology_template:
             param_name: vdbe_aap_untrusted_ip_prefix_len
       type: string
       description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
     aap_address_mode:
       hidden: false
       immutable: false
@@ -460,6 +477,8 @@ topology_template:
         - get_input: aap_address_mode
         subinterface_nested_vlan_tag_list:
         - get_input: untrusted_vlan_tags
+        subinterface_nested_service_template_filter_count:
+        - get_input: untrusted_num_vn
         subinterface_nested_aap_untrusted_v6_ip_prefix_len:
         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
         vm_flavor_name:
index 9cc4285..940545c 100644 (file)
@@ -26,6 +26,11 @@ topology_template:
       required: true
       entry_schema:
         type: json
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     subinterface_nested_aap_untrusted_v6_ip_prefix_len:
       type: list
       required: true
@@ -34,15 +39,6 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    untrusted_num_vn:
-      hidden: false
-      immutable: false
-      type: float
-      description: Number of vDBE subinterface virtual Networks
-      constraints:
-      - in_range:
-        - 1
-        - 77
     subinterface_nested_aap_untrusted_ip_prefix:
       type: list
       required: true
@@ -208,9 +204,11 @@ topology_template:
           - subinterface_nested_aap_address_mode
           - index_value
         service_template_filter:
-          substitute_service_template: nestedServiceTemplate.yaml
           count:
-            get_input: untrusted_num_vn
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
           mandatory: false
         aap_untrusted_v6_ip_prefix:
           get_input:
index b1b43a7..de27b5c 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: GlobalSubstitutionTypes\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-node_types:\r
-  org.openecomp.resource.abstract.nodes.vdbe:\r
-    derived_from: org.openecomp.resource.abstract.nodes.VFC\r
-    properties:\r
-      subinterface_nested_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      compute_vdbe_availability_zone:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_flavor_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      untrusted_num_vn:\r
-        type: float\r
-        description: Number of vDBE subinterface virtual Networks\r
-        required: true\r
-        status: SUPPORTED\r
-        constraints:\r
-        - in_range:\r
-          - 1\r
-          - 77\r
-      subinterface_nested_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_image_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_vdbe_subport_network:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_metadata:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_nested_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      port_vdbe_untr_1_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-      subinterface_nested_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      index_value:\r
-        type: integer\r
-        description: Index value of this substitution service template runtime instance\r
-        required: false\r
-        default: 0\r
-        status: SUPPORTED\r
-        constraints:\r
-        - greater_or_equal: 0\r
-      subinterface_nested_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_counter:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: float\r
-      subinterface_nested_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-    requirements:\r
-    - dependency_vdbe_vdbe_untr_1_port_nested:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - local_storage_vdbe:\r
-        capability: tosca.capabilities.Attachment\r
-        node: tosca.nodes.BlockStorage\r
-        relationship: tosca.relationships.AttachesTo\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      endpoint_vdbe:\r
-        type: tosca.capabilities.Endpoint.Admin\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.ephemeral.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_util_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      vcpus_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      scalable_vdbe:\r
-        type: tosca.capabilities.Scalable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      instance_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu.delta_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      disk.device.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.resident_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port_nested:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      host_vdbe:\r
-        type: tosca.capabilities.Container\r
-        valid_source_types:\r
-        - tosca.nodes.SoftwareComponent\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      os_vdbe:\r
-        type: tosca.capabilities.OperatingSystem\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.root.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe:\r
-        type: tosca.capabilities.network.Bindable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.nested:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vdbe_subport_network:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_subport:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
\ No newline at end of file
+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.vdbe:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      subinterface_nested_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      compute_vdbe_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vdbe_subport_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_nested_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_vdbe_untr_1_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      subinterface_nested_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_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
+      subinterface_nested_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+    requirements:
+    - dependency_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_vdbe:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_vdbe:
+        type: org.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_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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.allocation_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.bytes.rate_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_vdbe_untr_1_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vdbe_subport_network:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_subport:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_subport:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
index 1b6a863..4f37a1b 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Main\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-topology_template:\r
-  inputs:\r
-    vf_module_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vf_module_id\r
-      type: string\r
-      description: Unique ID for this VF module inst\r
-    fabric_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the fabric virtual network\r
-    control_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the control virtual network\r
-    control_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the control virtual network\r
-    vnf_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_name\r
-      type: string\r
-      description: Unique name for this VF instance\r
-    vdbe_untrusted_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_ip_1\r
-      type: string\r
-      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-    aap_address_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: aap_address_mode\r
-      type: string\r
-      description: Address mode for the vDBE cluster IP\r
-    control_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_shared\r
-      type: boolean\r
-      description: control virtual network shared\r
-    vdbe_untrusted_v6_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_v6_ip_1\r
-      type: string\r
-      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_untrusted_vmac_address:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_vmac_address\r
-      type: string\r
-      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network\r
-    control_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the control virtual network\r
-    vdbe_aap_sec_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-    vnf_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_id\r
-      type: string\r
-      description: Unique ID for this VF inst\r
-    vdbe_name_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_name_1\r
-      type: string\r
-      description: VM Name for this vdbe node 1\r
-    availability_zone_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: availability_zone_1\r
-      type: string\r
-      description: The availability zone of secondary node1 vDBE vm in the local HA pair.\r
-    untrusted_vn_networks:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vn_networks\r
-      type: list\r
-      description: List of subinterface virtual networks\r
-      entry_schema:\r
-        type: string\r
-    vdbe_image_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_image_name\r
-      type: string\r
-      description: Image to use for vDBE\r
-    oam_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: oam_net_name\r
-      type: string\r
-      description: Name of NSDNet network from which the management IP addresses will be allocated\r
-    vdbe_aap_sec_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix\r
-      type: string\r
-      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix_len\r
-      type: string\r
-      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-    fabric_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the fabric virtual network\r
-    untrusted_vlan_tags:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vlan_tags\r
-      type: list\r
-      description: List of subinterface vlan tags\r
-      entry_schema:\r
-        type: string\r
-    vdbe_flavor_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_flavor_name\r
-      type: string\r
-      description: Flavor to use for vDBE\r
-    counter:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: counter\r
-      type: float\r
-      description: Counter.\r
-    fabric_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the fabric virtual network\r
-    fabric_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_shared\r
-      description: fabric virtual network shared\r
-    vdbe_hw_untr_mac_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_hw_untr_mac_1\r
-      type: string\r
-      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network\r
-    untrusted_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_net_name\r
-      type: string\r
-      description: Name of public untrusted network into which this vDBE HA cluster is deployed\r
-    vdbe_device_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_device_name\r
-      type: string\r
-      description: VDBE device Name for this vdbe VNF\r
-    vdbe_aap_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-  node_templates:\r
-    fabric_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: VNF_NAME_fabric_net\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-      requirements:\r
-      - dependency:\r
-          capability: feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested\r
-          node: abstract_vdbe\r
-          relationship: tosca.relationships.DependsOn\r
-    control_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: VNF_NAME_control_net\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-    abstract_vdbe:\r
-      type: org.openecomp.resource.abstract.nodes.vdbe\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        subinterface_nested_parent_interface:\r
-        - vdbe_untr_1_port\r
-        subinterface_nested_aap_address_mode:\r
-        - get_input: aap_address_mode\r
-        subinterface_nested_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        compute_vdbe_availability_zone:\r
-        - get_input: availability_zone_1\r
-        subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        vm_flavor_name:\r
-          get_input: vdbe_flavor_name\r
-        subinterface_nested_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        vm_image_name:\r
-          get_input: vdbe_image_name\r
-        subinterface_nested_vdbe_subport_network:\r
-        - control_int_net\r
-        subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        compute_vdbe_metadata:\r
-        - vf_module_id:\r
-            get_input: vf_module_id\r
-          vnf_id:\r
-            get_input: vnf_id\r
-          vnf_name:\r
-            get_input: vnf_name\r
-        subinterface_nested_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        port_vdbe_untr_1_port_virtual_network_refs:\r
-        - - fabric_int_net\r
-        subinterface_nested_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        subinterface_nested_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        subinterface_nested_vmac_address:\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        port_vdbe_untr_1_port_name:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        subinterface_nested_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_nested_counter:\r
-        - get_input: counter\r
-        subinterface_nested_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        compute_vdbe_name:\r
-        - get_input: vdbe_name_1\r
-        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        service_template_filter:\r
-          substitute_service_template: Nested_vdbeServiceTemplate.yaml\r
-          count: 1\r
-        index_value:\r
-          get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-      requirements:\r
-      - link_vdbe_vdbe_untr_1_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: fabric_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-      - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: control_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-  groups:\r
-    main_group:\r
-      type: org.openecomp.groups.heat.HeatStack\r
-      properties:\r
-        heat_file: ../Artifacts/main.yml\r
-        description: |\r
-          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)\r
-      members:\r
-      - fabric_int_net\r
-      - control_int_net\r
-      - abstract_vdbe\r
\ No newline at end of file
+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:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF module inst
+    fabric_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the fabric virtual network
+    control_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the control virtual network
+    control_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the control virtual network
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vdbe_untrusted_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_ip_1
+      type: string
+      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
+    aap_address_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: aap_address_mode
+      type: string
+      description: Address mode for the vDBE cluster IP
+    control_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_shared
+      type: boolean
+      description: control virtual network shared
+    vdbe_untrusted_v6_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_v6_ip_1
+      type: string
+      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_untrusted_vmac_address:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_vmac_address
+      type: string
+      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
+    control_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the control virtual network
+    vdbe_aap_sec_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix
+      type: string
+      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF inst
+    vdbe_name_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_name_1
+      type: string
+      description: VM Name for this vdbe node 1
+    availability_zone_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_1
+      type: string
+      description: The availability zone of secondary node1 vDBE vm in the local HA pair.
+    untrusted_vn_networks:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vn_networks
+      type: list
+      description: List of subinterface virtual networks
+      entry_schema:
+        type: string
+    vdbe_image_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_image_name
+      type: string
+      description: Image to use for vDBE
+    oam_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: Name of NSDNet network from which the management IP addresses will be allocated
+    vdbe_aap_sec_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix
+      type: string
+      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix_len
+      type: string
+      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+    fabric_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the fabric virtual network
+    untrusted_vlan_tags:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vlan_tags
+      type: list
+      description: List of subinterface vlan tags
+      entry_schema:
+        type: string
+    vdbe_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_flavor_name
+      type: string
+      description: Flavor to use for vDBE
+    counter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: counter
+      type: float
+      description: Counter.
+    fabric_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the fabric virtual network
+    fabric_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_shared
+      description: fabric virtual network shared
+    vdbe_hw_untr_mac_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_hw_untr_mac_1
+      type: string
+      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
+    untrusted_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_net_name
+      type: string
+      description: Name of public untrusted network into which this vDBE HA cluster is deployed
+    vdbe_device_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_device_name
+      type: string
+      description: VDBE device Name for this vdbe VNF
+    vdbe_aap_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix
+      type: string
+      description: ip prefix for primary vDBE VM on the VAN untrusted network
+  node_templates:
+    fabric_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: VNF_NAME_fabric_net
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+      requirements:
+      - dependency:
+          capability: feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested
+          node: abstract_vdbe
+          relationship: tosca.relationships.DependsOn
+    control_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: VNF_NAME_control_net
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    abstract_vdbe:
+      type: org.openecomp.resource.abstract.nodes.vdbe
+      directives:
+      - substitutable
+      properties:
+        subinterface_nested_parent_interface:
+        - vdbe_untr_1_port
+        subinterface_nested_aap_address_mode:
+        - get_input: aap_address_mode
+        subinterface_nested_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        compute_vdbe_availability_zone:
+        - get_input: availability_zone_1
+        subinterface_nested_service_template_filter_count:
+        - get_input: untrusted_num_vn
+        subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        vm_flavor_name:
+          get_input: vdbe_flavor_name
+        subinterface_nested_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        vm_image_name:
+          get_input: vdbe_image_name
+        subinterface_nested_vdbe_subport_network:
+        - control_int_net
+        subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_nested_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        subinterface_nested_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        compute_vdbe_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        subinterface_nested_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        port_vdbe_untr_1_port_virtual_network_refs:
+        - - fabric_int_net
+        subinterface_nested_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        subinterface_nested_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_nested_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        port_vdbe_untr_1_port_name:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_nested_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_nested_counter:
+        - get_input: counter
+        subinterface_nested_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        compute_vdbe_name:
+        - get_input: vdbe_name_1
+        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        service_template_filter:
+          substitute_service_template: Nested_vdbeServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_vdbe_vdbe_untr_1_port:
+          capability: tosca.capabilities.network.Linkable
+          node: fabric_int_net
+          relationship: tosca.relationships.network.LinksTo
+      - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          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:
+      - fabric_int_net
+      - control_int_net
+      - abstract_vdbe
\ No newline at end of file
index 41ac5c1..9951fc5 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Nested_vdbe\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-node_types:\r
-  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:\r
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server\r
-topology_template:\r
-  inputs:\r
-    subinterface_nested_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    compute_vdbe_availability_zone:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_flavor_name:\r
-      type: string\r
-      required: true\r
-    untrusted_num_vn:\r
-      hidden: false\r
-      immutable: false\r
-      type: float\r
-      description: Number of vDBE subinterface virtual Networks\r
-      constraints:\r
-      - in_range:\r
-        - 1\r
-        - 77\r
-    subinterface_nested_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_image_name:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_network_role:\r
-      type: string\r
-      required: true\r
-    subinterface_nested_vdbe_subport_network:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_metadata:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_nested_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    port_vdbe_untr_1_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-    subinterface_nested_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    port_vdbe_untr_1_port_order:\r
-      type: integer\r
-      required: true\r
-    index_value:\r
-      type: integer\r
-      description: Index value of this substitution service template runtime instance\r
-      required: false\r
-      default: 0\r
-      constraints:\r
-      - greater_or_equal: 0\r
-    subinterface_nested_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    port_vdbe_untr_1_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    subinterface_nested_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_counter:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: float\r
-    subinterface_nested_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-  node_templates:\r
-    vdbe_vdbe_untr_1_port_nested:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        vdbe_subport_network:\r
-          get_input:\r
-          - subinterface_nested_vdbe_subport_network\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_nested_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_input:\r
-          - subinterface_nested_counter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_nested_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_nested_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_nested_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: nestedServiceTemplate.yaml\r
-          count:\r
-            get_input: untrusted_num_vn\r
-          mandatory: false\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_nested_parent_interface\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_nested_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_nested_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_nested_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_subport:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_1_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe:\r
-      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe\r
-      properties:\r
-        availability_zone:\r
-          get_input:\r
-          - compute_vdbe_availability_zone\r
-          - index_value\r
-        flavor:\r
-          get_input: vm_flavor_name\r
-        metadata:\r
-          get_input:\r
-          - compute_vdbe_metadata\r
-          - index_value\r
-        image:\r
-          get_input: vm_image_name\r
-        name:\r
-          get_input:\r
-          - compute_vdbe_name\r
-          - index_value\r
-    vdbe_vdbe_untr_1_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_1_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_1_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_1_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_1_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_1_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_1_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_1_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_1_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-  substitution_mappings:\r
-    node_type: org.openecomp.resource.abstract.nodes.vdbe\r
-    capabilities:\r
-      feature_vdbe:\r
-      - vdbe\r
-      - feature\r
-      disk.device.iops_vdbe:\r
-      - vdbe\r
-      - disk.device.iops\r
-      endpoint_vdbe:\r
-      - vdbe\r
-      - endpoint\r
-      disk.ephemeral.size_vdbe:\r
-      - vdbe\r
-      - disk.ephemeral.size\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - feature_vdbe_untr_x_subport\r
-      cpu_util_vdbe:\r
-      - vdbe\r
-      - cpu_util\r
-      vcpus_vdbe:\r
-      - vdbe\r
-      - vcpus\r
-      disk.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.write.requests\r
-      disk.device.latency_vdbe:\r
-      - vdbe\r
-      - disk.device.latency\r
-      disk.device.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests.rate\r
-      feature_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - feature\r
-      disk.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes.rate\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes.rate\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets.rate\r
-      scalable_vdbe:\r
-      - vdbe\r
-      - scalable\r
-      disk.iops_vdbe:\r
-      - vdbe\r
-      - disk.iops\r
-      disk.device.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests\r
-      disk.device.capacity_vdbe:\r
-      - vdbe\r
-      - disk.device.capacity\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes\r
-      disk.device.allocation_vdbe:\r
-      - vdbe\r
-      - disk.device.allocation\r
-      disk.usage_vdbe:\r
-      - vdbe\r
-      - disk.usage\r
-      memory.usage_vdbe:\r
-      - vdbe\r
-      - memory.usage\r
-      disk.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.read.requests\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes\r
-      instance_vdbe:\r
-      - vdbe\r
-      - instance\r
-      cpu.delta_vdbe:\r
-      - vdbe\r
-      - cpu.delta\r
-      binding_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - binding\r
-      disk.device.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes.rate\r
-      disk.device.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes.rate\r
-      memory.resident_vdbe:\r
-      - vdbe\r
-      - memory.resident\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - forwarder\r
-      feature_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - feature\r
-      disk.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.requests.rate\r
-      cpu_vdbe:\r
-      - vdbe\r
-      - cpu\r
-      disk.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes\r
-      disk.device.usage_vdbe:\r
-      - vdbe\r
-      - disk.device.usage\r
-      disk.device.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes\r
-      disk.latency_vdbe:\r
-      - vdbe\r
-      - disk.latency\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.packets.rate\r
-      disk.capacity_vdbe:\r
-      - vdbe\r
-      - disk.capacity\r
-      host_vdbe:\r
-      - vdbe\r
-      - host\r
-      disk.allocation_vdbe:\r
-      - vdbe\r
-      - disk.allocation\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outpoing.packets\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets\r
-      disk.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes.rate\r
-      os_vdbe:\r
-      - vdbe\r
-      - os\r
-      disk.device.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests\r
-      disk.root.size_vdbe:\r
-      - vdbe\r
-      - disk.root.size\r
-      memory_vdbe:\r
-      - vdbe\r
-      - memory\r
-      binding_vdbe:\r
-      - vdbe\r
-      - binding\r
-      disk.device.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes.rate\r
-      disk.device.read.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests.rate\r
-      disk.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes\r
-    requirements:\r
-      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - link_vdbe_untr_x_subport\r
-      dependency_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - dependency\r
-      local_storage_vdbe:\r
-      - vdbe\r
-      - local_storage\r
-      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - dependency_vdbe_untr_x_subport\r
-      dependency_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - dependency\r
-      link_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - link\r
-      dependency_vdbe:\r
-      - vdbe\r
-      - dependency\r
\ No newline at end of file
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_vdbe
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    subinterface_nested_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    compute_vdbe_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_nested_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_image_name:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_vdbe_subport_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_nested_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_vdbe_untr_1_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    subinterface_nested_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_vdbe_untr_1_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
+    subinterface_nested_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_vdbe_untr_1_port_subnetpoolid:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    subinterface_nested_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role_tag:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+  node_templates:
+    vdbe_vdbe_untr_1_port_nested:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix
+          - index_value
+        vdbe_subport_network:
+          get_input:
+          - subinterface_nested_vdbe_subport_network
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_nested_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_nested_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_nested_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_nested_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_nested_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
+          mandatory: false
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_nested_parent_interface
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_nested_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_nested_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_nested_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_1_port
+          relationship: tosca.relationships.network.BindsTo
+    vdbe:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
+      properties:
+        availability_zone:
+          get_input:
+          - compute_vdbe_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_vdbe_metadata
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_vdbe_name
+          - index_value
+    vdbe_vdbe_untr_1_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_1_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_1_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_1_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_1_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_1_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_1_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_1_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_1_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_1_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.vdbe
+    capabilities:
+      feature_vdbe:
+      - vdbe
+      - feature
+      disk.device.iops_vdbe:
+      - vdbe
+      - disk.device.iops
+      endpoint_vdbe:
+      - vdbe
+      - endpoint
+      disk.ephemeral.size_vdbe:
+      - vdbe
+      - disk.ephemeral.size
+      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - feature_vdbe_untr_x_subport
+      cpu_util_vdbe:
+      - vdbe
+      - cpu_util
+      vcpus_vdbe:
+      - vdbe
+      - vcpus
+      disk.write.requests_vdbe:
+      - vdbe
+      - disk.write.requests
+      disk.device.latency_vdbe:
+      - vdbe
+      - disk.device.latency
+      disk.device.write.requests.rate_vdbe:
+      - vdbe
+      - disk.device.write.requests.rate
+      feature_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - feature
+      disk.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.write.bytes.rate
+      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes.rate
+      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets.rate
+      scalable_vdbe:
+      - vdbe
+      - scalable
+      disk.iops_vdbe:
+      - vdbe
+      - disk.iops
+      disk.device.write.requests_vdbe:
+      - vdbe
+      - disk.device.write.requests
+      disk.device.capacity_vdbe:
+      - vdbe
+      - disk.device.capacity
+      network.outgoing.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes
+      disk.device.allocation_vdbe:
+      - vdbe
+      - disk.device.allocation
+      disk.usage_vdbe:
+      - vdbe
+      - disk.usage
+      memory.usage_vdbe:
+      - vdbe
+      - memory.usage
+      disk.read.requests_vdbe:
+      - vdbe
+      - disk.read.requests
+      network.incoming.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes
+      instance_vdbe:
+      - vdbe
+      - instance
+      cpu.delta_vdbe:
+      - vdbe
+      - cpu.delta
+      binding_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - binding
+      disk.device.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.read.bytes.rate
+      disk.device.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.write.bytes.rate
+      memory.resident_vdbe:
+      - vdbe
+      - memory.resident
+      forwarder_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - forwarder
+      feature_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - feature
+      disk.write.requests.rate_vdbe:
+      - vdbe
+      - disk.write.requests.rate
+      cpu_vdbe:
+      - vdbe
+      - cpu
+      disk.write.bytes_vdbe:
+      - vdbe
+      - disk.write.bytes
+      disk.device.usage_vdbe:
+      - vdbe
+      - disk.device.usage
+      disk.device.read.bytes_vdbe:
+      - vdbe
+      - disk.device.read.bytes
+      disk.latency_vdbe:
+      - vdbe
+      - disk.latency
+      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.packets.rate
+      disk.capacity_vdbe:
+      - vdbe
+      - disk.capacity
+      host_vdbe:
+      - vdbe
+      - host
+      disk.allocation_vdbe:
+      - vdbe
+      - disk.allocation
+      network.outpoing.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outpoing.packets
+      network.incoming.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets
+      disk.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.read.bytes.rate
+      os_vdbe:
+      - vdbe
+      - os
+      disk.device.read.requests_vdbe:
+      - vdbe
+      - disk.device.read.requests
+      disk.root.size_vdbe:
+      - vdbe
+      - disk.root.size
+      memory_vdbe:
+      - vdbe
+      - memory
+      binding_vdbe:
+      - vdbe
+      - binding
+      disk.device.write.bytes_vdbe:
+      - vdbe
+      - disk.device.write.bytes
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes.rate
+      disk.device.read.requests.rate_vdbe:
+      - vdbe
+      - disk.device.read.requests.rate
+      disk.read.bytes_vdbe:
+      - vdbe
+      - disk.read.bytes
+    requirements:
+      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - link_vdbe_untr_x_subport
+      dependency_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - dependency
+      local_storage_vdbe:
+      - vdbe
+      - local_storage
+      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - dependency_vdbe_untr_x_subport
+      dependency_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - dependency
+      link_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - link
+      dependency_vdbe:
+      - vdbe
+      - dependency
index 5eaf8f0..94a9c4a 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: GlobalSubstitutionTypes\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-node_types:\r
-  org.openecomp.resource.abstract.nodes.vdbe:\r
-    derived_from: org.openecomp.resource.abstract.nodes.VFC\r
-    properties:\r
-      subinterface_nested_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      compute_vdbe_availability_zone:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_flavor_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      untrusted_num_vn:\r
-        type: float\r
-        description: Number of vDBE subinterface virtual Networks\r
-        required: true\r
-        status: SUPPORTED\r
-        constraints:\r
-        - in_range:\r
-          - 1\r
-          - 77\r
-      subinterface_nested_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_image_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_vdbe_subport_network:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_metadata:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_nested_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      port_vdbe_untr_1_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-      subinterface_nested_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      index_value:\r
-        type: integer\r
-        description: Index value of this substitution service template runtime instance\r
-        required: false\r
-        default: 0\r
-        status: SUPPORTED\r
-        constraints:\r
-        - greater_or_equal: 0\r
-      subinterface_nested_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-    requirements:\r
-    - dependency_vdbe_vdbe_untr_1_port_nested:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - local_storage_vdbe:\r
-        capability: tosca.capabilities.Attachment\r
-        node: tosca.nodes.BlockStorage\r
-        relationship: tosca.relationships.AttachesTo\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      endpoint_vdbe:\r
-        type: tosca.capabilities.Endpoint.Admin\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.ephemeral.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_util_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      vcpus_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      scalable_vdbe:\r
-        type: tosca.capabilities.Scalable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      instance_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu.delta_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      disk.device.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.resident_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port_nested:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      host_vdbe:\r
-        type: tosca.capabilities.Container\r
-        valid_source_types:\r
-        - tosca.nodes.SoftwareComponent\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      os_vdbe:\r
-        type: tosca.capabilities.OperatingSystem\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.root.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe:\r
-        type: tosca.capabilities.network.Bindable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.nested:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vdbe_subport_network:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_subport:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_subport:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
\ No newline at end of file
+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.vdbe:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      subinterface_nested_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      compute_vdbe_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_vdbe_subport_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_nested_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_vdbe_untr_1_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      subinterface_nested_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_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
+      subinterface_nested_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+    requirements:
+    - dependency_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_vdbe:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_vdbe:
+        type: org.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_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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.allocation_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.bytes.rate_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_vdbe_untr_1_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vdbe_subport_network:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_subport:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_subport:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
index 4962899..a53ca75 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Main\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-topology_template:\r
-  inputs:\r
-    vf_module_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vf_module_id\r
-      type: string\r
-      description: Unique ID for this VF module inst\r
-    control_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the control virtual network\r
-    control_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the control virtual network\r
-    vnf_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_name\r
-      type: string\r
-      description: Unique name for this VF instance\r
-    vdbe_untrusted_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_ip_1\r
-      type: string\r
-      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-    aap_address_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: aap_address_mode\r
-      type: string\r
-      description: Address mode for the vDBE cluster IP\r
-    control_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_shared\r
-      type: boolean\r
-      description: control virtual network shared\r
-    vdbe_untrusted_v6_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_v6_ip_1\r
-      type: string\r
-      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_untrusted_vmac_address:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_vmac_address\r
-      type: string\r
-      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network\r
-    control_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the control virtual network\r
-    vdbe_aap_sec_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-    vnf_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_id\r
-      type: string\r
-      description: Unique ID for this VF inst\r
-    vdbe_name_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_name_1\r
-      type: string\r
-      description: VM Name for this vdbe node 1\r
-    availability_zone_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: availability_zone_1\r
-      type: string\r
-      description: The availability zone of secondary node1 vDBE vm in the local HA pair.\r
-    untrusted_vn_networks:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vn_networks\r
-      type: list\r
-      description: List of subinterface virtual networks\r
-      entry_schema:\r
-        type: string\r
-    vdbe_image_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_image_name\r
-      type: string\r
-      description: Image to use for vDBE\r
-    oam_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: oam_net_name\r
-      type: string\r
-      description: Name of NSDNet network from which the management IP addresses will be allocated\r
-    vdbe_aap_sec_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix\r
-      type: string\r
-      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix_len\r
-      type: string\r
-      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-    untrusted_vlan_tags:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vlan_tags\r
-      type: list\r
-      description: List of subinterface vlan tags\r
-      entry_schema:\r
-        type: string\r
-    vdbe_flavor_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_flavor_name\r
-      type: string\r
-      description: Flavor to use for vDBE\r
-    vdbe_hw_untr_mac_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_hw_untr_mac_1\r
-      type: string\r
-      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network\r
-    untrusted_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_net_name\r
-      type: string\r
-      description: Name of public untrusted network into which this vDBE HA cluster is deployed\r
-    vdbe_device_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_device_name\r
-      type: string\r
-      description: VDBE device Name for this vdbe VNF\r
-    vdbe_aap_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-  node_templates:\r
-    control_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: VNF_NAME_control_net\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-    abstract_vdbe:\r
-      type: org.openecomp.resource.abstract.nodes.vdbe\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        subinterface_nested_parent_interface:\r
-        - vdbe_untr_1_port\r
-        subinterface_nested_aap_address_mode:\r
-        - get_input: aap_address_mode\r
-        subinterface_nested_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        compute_vdbe_availability_zone:\r
-        - get_input: availability_zone_1\r
-        subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        vm_flavor_name:\r
-          get_input: vdbe_flavor_name\r
-        subinterface_nested_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        vm_image_name:\r
-          get_input: vdbe_image_name\r
-        subinterface_nested_vdbe_subport_network:\r
-        - control_int_net\r
-        subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        compute_vdbe_metadata:\r
-        - vf_module_id:\r
-            get_input: vf_module_id\r
-          vnf_id:\r
-            get_input: vnf_id\r
-          vnf_name:\r
-            get_input: vnf_name\r
-        subinterface_nested_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        port_vdbe_untr_1_port_virtual_network_refs:\r
-        - - control_int_net\r
-        subinterface_nested_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        subinterface_nested_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        subinterface_nested_vmac_address:\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        port_vdbe_untr_1_port_name:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        subinterface_nested_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_nested_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        compute_vdbe_name:\r
-        - get_input: vdbe_name_1\r
-        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        service_template_filter:\r
-          substitute_service_template: Nested_vdbeServiceTemplate.yaml\r
-          count: 1\r
-        index_value:\r
-          get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-      requirements:\r
-      - link_vdbe_vdbe_untr_1_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: control_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-      - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: control_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-      - dependency_vdbe_vdbe_untr_1_port_nested:\r
-          capability: tosca.capabilities.Node\r
-          node: control_int_net\r
-          relationship: tosca.relationships.DependsOn\r
-  groups:\r
-    main_group:\r
-      type: org.openecomp.groups.heat.HeatStack\r
-      properties:\r
-        heat_file: ../Artifacts/main.yml\r
-        description: |\r
-          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)\r
-      members:\r
-      - control_int_net\r
-      - abstract_vdbe\r
\ No newline at end of file
+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:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF module inst
+    control_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the control virtual network
+    control_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the control virtual network
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vdbe_untrusted_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_ip_1
+      type: string
+      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
+    aap_address_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: aap_address_mode
+      type: string
+      description: Address mode for the vDBE cluster IP
+    control_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_shared
+      type: boolean
+      description: control virtual network shared
+    vdbe_untrusted_v6_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_v6_ip_1
+      type: string
+      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_untrusted_vmac_address:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_vmac_address
+      type: string
+      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
+    control_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the control virtual network
+    vdbe_aap_sec_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix
+      type: string
+      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF inst
+    vdbe_name_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_name_1
+      type: string
+      description: VM Name for this vdbe node 1
+    availability_zone_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_1
+      type: string
+      description: The availability zone of secondary node1 vDBE vm in the local HA pair.
+    untrusted_vn_networks:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vn_networks
+      type: list
+      description: List of subinterface virtual networks
+      entry_schema:
+        type: string
+    vdbe_image_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_image_name
+      type: string
+      description: Image to use for vDBE
+    oam_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: Name of NSDNet network from which the management IP addresses will be allocated
+    vdbe_aap_sec_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix
+      type: string
+      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix_len
+      type: string
+      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_vlan_tags:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vlan_tags
+      type: list
+      description: List of subinterface vlan tags
+      entry_schema:
+        type: string
+    vdbe_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_flavor_name
+      type: string
+      description: Flavor to use for vDBE
+    vdbe_hw_untr_mac_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_hw_untr_mac_1
+      type: string
+      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
+    untrusted_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_net_name
+      type: string
+      description: Name of public untrusted network into which this vDBE HA cluster is deployed
+    vdbe_device_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_device_name
+      type: string
+      description: VDBE device Name for this vdbe VNF
+    vdbe_aap_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix
+      type: string
+      description: ip prefix for primary vDBE VM on the VAN untrusted network
+  node_templates:
+    control_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: VNF_NAME_control_net
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    abstract_vdbe:
+      type: org.openecomp.resource.abstract.nodes.vdbe
+      directives:
+      - substitutable
+      properties:
+        subinterface_nested_parent_interface:
+        - vdbe_untr_1_port
+        subinterface_nested_aap_address_mode:
+        - get_input: aap_address_mode
+        subinterface_nested_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        compute_vdbe_availability_zone:
+        - get_input: availability_zone_1
+        subinterface_nested_service_template_filter_count:
+        - get_input: untrusted_num_vn
+        subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        vm_flavor_name:
+          get_input: vdbe_flavor_name
+        subinterface_nested_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        vm_image_name:
+          get_input: vdbe_image_name
+        subinterface_nested_vdbe_subport_network:
+        - control_int_net
+        subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_nested_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        subinterface_nested_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        compute_vdbe_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        subinterface_nested_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        port_vdbe_untr_1_port_virtual_network_refs:
+        - - control_int_net
+        subinterface_nested_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        subinterface_nested_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_nested_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        port_vdbe_untr_1_port_name:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_nested_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_nested_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        compute_vdbe_name:
+        - get_input: vdbe_name_1
+        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        service_template_filter:
+          substitute_service_template: Nested_vdbeServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_vdbe_vdbe_untr_1_port:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          relationship: tosca.relationships.network.LinksTo
+      - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          relationship: tosca.relationships.network.LinksTo
+      - dependency_vdbe_vdbe_untr_1_port_nested:
+          capability: tosca.capabilities.Node
+          node: control_int_net
+          relationship: tosca.relationships.DependsOn
+  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:
+      - control_int_net
+      - abstract_vdbe
\ No newline at end of file
index 7497b3f..dffc234 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Nested_vdbe\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-node_types:\r
-  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:\r
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server\r
-topology_template:\r
-  inputs:\r
-    subinterface_nested_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    compute_vdbe_availability_zone:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_flavor_name:\r
-      type: string\r
-      required: true\r
-    untrusted_num_vn:\r
-      hidden: false\r
-      immutable: false\r
-      type: float\r
-      description: Number of vDBE subinterface virtual Networks\r
-      constraints:\r
-      - in_range:\r
-        - 1\r
-        - 77\r
-    subinterface_nested_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_image_name:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_network_role:\r
-      type: string\r
-      required: true\r
-    subinterface_nested_vdbe_subport_network:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_metadata:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_nested_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    port_vdbe_untr_1_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-    subinterface_nested_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    port_vdbe_untr_1_port_order:\r
-      type: integer\r
-      required: true\r
-    index_value:\r
-      type: integer\r
-      description: Index value of this substitution service template runtime instance\r
-      required: false\r
-      default: 0\r
-      constraints:\r
-      - greater_or_equal: 0\r
-    subinterface_nested_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    port_vdbe_untr_1_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    subinterface_nested_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_1_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-  node_templates:\r
-    vdbe_vdbe_untr_1_port_nested:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        vdbe_subport_network:\r
-          get_input:\r
-          - subinterface_nested_vdbe_subport_network\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_nested_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_nested_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_nested_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_nested_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: nestedServiceTemplate.yaml\r
-          count:\r
-            get_input: untrusted_num_vn\r
-          mandatory: false\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_nested_parent_interface\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_nested_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_nested_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_nested_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_subport:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_1_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe:\r
-      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe\r
-      properties:\r
-        availability_zone:\r
-          get_input:\r
-          - compute_vdbe_availability_zone\r
-          - index_value\r
-        flavor:\r
-          get_input: vm_flavor_name\r
-        metadata:\r
-          get_input:\r
-          - compute_vdbe_metadata\r
-          - index_value\r
-        image:\r
-          get_input: vm_image_name\r
-        name:\r
-          get_input:\r
-          - compute_vdbe_name\r
-          - index_value\r
-    vdbe_vdbe_untr_1_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_1_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_1_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_1_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_1_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_1_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_1_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_1_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_1_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-  substitution_mappings:\r
-    node_type: org.openecomp.resource.abstract.nodes.vdbe\r
-    capabilities:\r
-      feature_vdbe:\r
-      - vdbe\r
-      - feature\r
-      disk.device.iops_vdbe:\r
-      - vdbe\r
-      - disk.device.iops\r
-      endpoint_vdbe:\r
-      - vdbe\r
-      - endpoint\r
-      disk.ephemeral.size_vdbe:\r
-      - vdbe\r
-      - disk.ephemeral.size\r
-      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - feature_vdbe_untr_x_subport\r
-      cpu_util_vdbe:\r
-      - vdbe\r
-      - cpu_util\r
-      vcpus_vdbe:\r
-      - vdbe\r
-      - vcpus\r
-      disk.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.write.requests\r
-      disk.device.latency_vdbe:\r
-      - vdbe\r
-      - disk.device.latency\r
-      disk.device.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests.rate\r
-      feature_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - feature\r
-      disk.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes.rate\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes.rate\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets.rate\r
-      scalable_vdbe:\r
-      - vdbe\r
-      - scalable\r
-      disk.iops_vdbe:\r
-      - vdbe\r
-      - disk.iops\r
-      disk.device.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests\r
-      disk.device.capacity_vdbe:\r
-      - vdbe\r
-      - disk.device.capacity\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes\r
-      disk.device.allocation_vdbe:\r
-      - vdbe\r
-      - disk.device.allocation\r
-      disk.usage_vdbe:\r
-      - vdbe\r
-      - disk.usage\r
-      memory.usage_vdbe:\r
-      - vdbe\r
-      - memory.usage\r
-      disk.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.read.requests\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes\r
-      instance_vdbe:\r
-      - vdbe\r
-      - instance\r
-      cpu.delta_vdbe:\r
-      - vdbe\r
-      - cpu.delta\r
-      binding_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - binding\r
-      disk.device.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes.rate\r
-      disk.device.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes.rate\r
-      memory.resident_vdbe:\r
-      - vdbe\r
-      - memory.resident\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - forwarder\r
-      feature_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - feature\r
-      disk.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.requests.rate\r
-      cpu_vdbe:\r
-      - vdbe\r
-      - cpu\r
-      disk.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes\r
-      disk.device.usage_vdbe:\r
-      - vdbe\r
-      - disk.device.usage\r
-      disk.device.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes\r
-      disk.latency_vdbe:\r
-      - vdbe\r
-      - disk.latency\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.packets.rate\r
-      disk.capacity_vdbe:\r
-      - vdbe\r
-      - disk.capacity\r
-      host_vdbe:\r
-      - vdbe\r
-      - host\r
-      disk.allocation_vdbe:\r
-      - vdbe\r
-      - disk.allocation\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outpoing.packets\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets\r
-      disk.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes.rate\r
-      os_vdbe:\r
-      - vdbe\r
-      - os\r
-      disk.device.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests\r
-      disk.root.size_vdbe:\r
-      - vdbe\r
-      - disk.root.size\r
-      memory_vdbe:\r
-      - vdbe\r
-      - memory\r
-      binding_vdbe:\r
-      - vdbe\r
-      - binding\r
-      disk.device.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes.rate\r
-      disk.device.read.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests.rate\r
-      disk.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes\r
-    requirements:\r
-      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - link_vdbe_untr_x_subport\r
-      dependency_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - dependency\r
-      local_storage_vdbe:\r
-      - vdbe\r
-      - local_storage\r
-      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - dependency_vdbe_untr_x_subport\r
-      dependency_vdbe_vdbe_untr_1_port_nested:\r
-      - vdbe_vdbe_untr_1_port_nested\r
-      - dependency\r
-      link_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - link\r
-      dependency_vdbe:\r
-      - vdbe\r
-      - dependency\r
\ No newline at end of file
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_vdbe
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    subinterface_nested_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    compute_vdbe_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_nested_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_image_name:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_vdbe_subport_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_nested_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_vdbe_untr_1_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    subinterface_nested_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_vdbe_untr_1_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
+    subinterface_nested_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_vdbe_untr_1_port_subnetpoolid:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    subinterface_nested_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role_tag:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+  node_templates:
+    vdbe_vdbe_untr_1_port_nested:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix
+          - index_value
+        vdbe_subport_network:
+          get_input:
+          - subinterface_nested_vdbe_subport_network
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_nested_ip_v6_address
+          - index_value
+        counter:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_nested_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_nested_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_nested_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
+          mandatory: false
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_nested_parent_interface
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_nested_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_nested_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_nested_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_1_port
+          relationship: tosca.relationships.network.BindsTo
+    vdbe:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
+      properties:
+        availability_zone:
+          get_input:
+          - compute_vdbe_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_vdbe_metadata
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_vdbe_name
+          - index_value
+    vdbe_vdbe_untr_1_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_1_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_1_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_1_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_1_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_1_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_1_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_1_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_1_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_1_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.vdbe
+    capabilities:
+      feature_vdbe:
+      - vdbe
+      - feature
+      disk.device.iops_vdbe:
+      - vdbe
+      - disk.device.iops
+      endpoint_vdbe:
+      - vdbe
+      - endpoint
+      disk.ephemeral.size_vdbe:
+      - vdbe
+      - disk.ephemeral.size
+      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - feature_vdbe_untr_x_subport
+      cpu_util_vdbe:
+      - vdbe
+      - cpu_util
+      vcpus_vdbe:
+      - vdbe
+      - vcpus
+      disk.write.requests_vdbe:
+      - vdbe
+      - disk.write.requests
+      disk.device.latency_vdbe:
+      - vdbe
+      - disk.device.latency
+      disk.device.write.requests.rate_vdbe:
+      - vdbe
+      - disk.device.write.requests.rate
+      feature_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - feature
+      disk.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.write.bytes.rate
+      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes.rate
+      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets.rate
+      scalable_vdbe:
+      - vdbe
+      - scalable
+      disk.iops_vdbe:
+      - vdbe
+      - disk.iops
+      disk.device.write.requests_vdbe:
+      - vdbe
+      - disk.device.write.requests
+      disk.device.capacity_vdbe:
+      - vdbe
+      - disk.device.capacity
+      network.outgoing.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes
+      disk.device.allocation_vdbe:
+      - vdbe
+      - disk.device.allocation
+      disk.usage_vdbe:
+      - vdbe
+      - disk.usage
+      memory.usage_vdbe:
+      - vdbe
+      - memory.usage
+      disk.read.requests_vdbe:
+      - vdbe
+      - disk.read.requests
+      network.incoming.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes
+      instance_vdbe:
+      - vdbe
+      - instance
+      cpu.delta_vdbe:
+      - vdbe
+      - cpu.delta
+      binding_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - binding
+      disk.device.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.read.bytes.rate
+      disk.device.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.write.bytes.rate
+      memory.resident_vdbe:
+      - vdbe
+      - memory.resident
+      forwarder_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - forwarder
+      feature_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - feature
+      disk.write.requests.rate_vdbe:
+      - vdbe
+      - disk.write.requests.rate
+      cpu_vdbe:
+      - vdbe
+      - cpu
+      disk.write.bytes_vdbe:
+      - vdbe
+      - disk.write.bytes
+      disk.device.usage_vdbe:
+      - vdbe
+      - disk.device.usage
+      disk.device.read.bytes_vdbe:
+      - vdbe
+      - disk.device.read.bytes
+      disk.latency_vdbe:
+      - vdbe
+      - disk.latency
+      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.packets.rate
+      disk.capacity_vdbe:
+      - vdbe
+      - disk.capacity
+      host_vdbe:
+      - vdbe
+      - host
+      disk.allocation_vdbe:
+      - vdbe
+      - disk.allocation
+      network.outpoing.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outpoing.packets
+      network.incoming.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets
+      disk.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.read.bytes.rate
+      os_vdbe:
+      - vdbe
+      - os
+      disk.device.read.requests_vdbe:
+      - vdbe
+      - disk.device.read.requests
+      disk.root.size_vdbe:
+      - vdbe
+      - disk.root.size
+      memory_vdbe:
+      - vdbe
+      - memory
+      binding_vdbe:
+      - vdbe
+      - binding
+      disk.device.write.bytes_vdbe:
+      - vdbe
+      - disk.device.write.bytes
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes.rate
+      disk.device.read.requests.rate_vdbe:
+      - vdbe
+      - disk.device.read.requests.rate
+      disk.read.bytes_vdbe:
+      - vdbe
+      - disk.read.bytes
+    requirements:
+      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - link_vdbe_untr_x_subport
+      dependency_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - dependency
+      local_storage_vdbe:
+      - vdbe
+      - local_storage
+      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - dependency_vdbe_untr_x_subport
+      dependency_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - dependency
+      link_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - link
+      dependency_vdbe:
+      - vdbe
+      - dependency
index 8f21ba2..43b1e55 100644 (file)
@@ -32,6 +32,12 @@ node_types:
         type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       vm_flavor_name:
         type: string
         required: true
@@ -581,6 +587,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: org.openecomp.datatypes.network.VlanRequirements
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       vm_flavor_name:
         type: string
         required: true
index 5f16f35..885ae52 100644 (file)
@@ -714,6 +714,8 @@ topology_template:
         - get_input:
           - pd_server_names
           - 0
+        subinterface_nested_service_template_filter_count:
+        - 9
         vm_flavor_name:
           get_input: pd_flavor_name
         subinterface_nested_p1:
@@ -767,6 +769,8 @@ topology_template:
         - get_input: availabilityzone_name
         compute_ps_server_user_data_format:
         - RAW
+        subinterface_nested_service_template_filter_count:
+        - 9
         vm_flavor_name:
           get_input: pd_flavor_name
         subinterface_nested_p1:
@@ -815,4 +819,4 @@ topology_template:
       - test_net2
       - test_net1
       - abstract_pd_server
-      - abstract_ps_server
+      - abstract_ps_server
\ No newline at end of file
index f309435..9bec8b6 100644 (file)
@@ -31,6 +31,11 @@ topology_template:
     port_pd01_port_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     vm_flavor_name:
       type: string
       required: true
@@ -93,8 +98,11 @@ topology_template:
           - subinterface_nested_p1
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
           substitute_service_template: nestedServiceTemplate.yaml
-          count: 9
           mandatory: true
         net1:
           get_input:
index 06e1e96..d05d3f6 100644 (file)
@@ -41,6 +41,11 @@ topology_template:
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.VlanRequirements
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     vm_flavor_name:
       type: string
       required: true
@@ -93,8 +98,11 @@ topology_template:
           - subinterface_nested_p1
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
           substitute_service_template: nestedServiceTemplate.yaml
-          count: 9
           mandatory: true
         net1:
           get_input:
index 44f15ea..a839d67 100644 (file)
@@ -452,6 +452,12 @@ node_types:
         type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       vm_flavor_name:
         type: string
         required: true
index ae95934..57be376 100644 (file)
@@ -756,6 +756,8 @@ topology_template:
         - get_input:
           - pd_server_names
           - 0
+        subinterface_nested_service_template_filter_count:
+        - 9
         vm_flavor_name:
           get_input: pd_flavor_name
         subinterface_nested_p1:
@@ -806,4 +808,4 @@ topology_template:
       - test_net2
       - test_net1
       - abstract_pd_server
-      - abstract_pd_server_1
+      - abstract_pd_server_1
\ No newline at end of file
index 36baabb..537d0db 100644 (file)
@@ -31,6 +31,11 @@ topology_template:
     port_pd01_port_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     vm_flavor_name:
       type: string
       required: true
@@ -93,8 +98,11 @@ topology_template:
           - subinterface_nested_p1
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
           substitute_service_template: nestedServiceTemplate.yaml
-          count: 9
           mandatory: true
         net1:
           get_input:
index 8f21ba2..43b1e55 100644 (file)
@@ -32,6 +32,12 @@ node_types:
         type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       vm_flavor_name:
         type: string
         required: true
@@ -581,6 +587,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: org.openecomp.datatypes.network.VlanRequirements
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       vm_flavor_name:
         type: string
         required: true
index 4671528..e54889b 100644 (file)
@@ -31,6 +31,11 @@ topology_template:
     port_pd01_port_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     vm_flavor_name:
       type: string
       required: true
@@ -93,6 +98,10 @@ topology_template:
           - subinterface_nested_p1
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
           substitute_service_template: nestedServiceTemplate.yaml
         net1:
           get_input:
index 9579651..d90ee86 100644 (file)
@@ -41,6 +41,11 @@ topology_template:
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.VlanRequirements
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     vm_flavor_name:
       type: string
       required: true
@@ -93,6 +98,10 @@ topology_template:
           - subinterface_nested_p1
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
           substitute_service_template: nestedServiceTemplate.yaml
         net1:
           get_input:
index 8ae44f8..62d9868 100644 (file)
@@ -38,6 +38,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: org.openecomp.datatypes.network.VlanRequirements
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       vm_flavor_name:
         type: string
         required: true
@@ -494,6 +500,12 @@ node_types:
         type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       vm_flavor_name:
         type: string
         required: true
index 9b07ca8..d18b63d 100644 (file)
@@ -714,6 +714,8 @@ topology_template:
         - get_input:
           - pd_server_names
           - 1
+        subinterface_nested_service_template_filter_count:
+        - 9
         vm_flavor_name:
           get_input: pd_flavor_name
         subinterface_nested_p1:
@@ -765,6 +767,8 @@ topology_template:
         - get_input:
           - pd_server_names
           - 0
+        subinterface_nested_service_template_filter_count:
+        - 9
         vm_flavor_name:
           get_input: pd_flavor_name
         subinterface_nested_p1:
@@ -815,4 +819,4 @@ topology_template:
       - test_net2
       - test_net1
       - abstract_pd_server
-      - abstract_pd_server_1
+      - abstract_pd_server_1
\ No newline at end of file
index 24545b0..6a798fd 100644 (file)
@@ -36,6 +36,11 @@ topology_template:
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.VlanRequirements
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     vm_flavor_name:
       type: string
       required: true
@@ -93,8 +98,11 @@ topology_template:
           - subinterface_nested_p1
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
           substitute_service_template: nestedServiceTemplate.yaml
-          count: 9
           mandatory: true
         net1:
           get_input:
index 36baabb..537d0db 100644 (file)
@@ -31,6 +31,11 @@ topology_template:
     port_pd01_port_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     vm_flavor_name:
       type: string
       required: true
@@ -93,8 +98,11 @@ topology_template:
           - subinterface_nested_p1
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
           substitute_service_template: nestedServiceTemplate.yaml
-          count: 9
           mandatory: true
         net1:
           get_input:
index 44f15ea..a839d67 100644 (file)
@@ -452,6 +452,12 @@ node_types:
         type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       vm_flavor_name:
         type: string
         required: true
index ae95934..57be376 100644 (file)
@@ -756,6 +756,8 @@ topology_template:
         - get_input:
           - pd_server_names
           - 0
+        subinterface_nested_service_template_filter_count:
+        - 9
         vm_flavor_name:
           get_input: pd_flavor_name
         subinterface_nested_p1:
@@ -806,4 +808,4 @@ topology_template:
       - test_net2
       - test_net1
       - abstract_pd_server
-      - abstract_pd_server_1
+      - abstract_pd_server_1
\ No newline at end of file
index 36baabb..537d0db 100644 (file)
@@ -31,6 +31,11 @@ topology_template:
     port_pd01_port_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     vm_flavor_name:
       type: string
       required: true
@@ -93,8 +98,11 @@ topology_template:
           - subinterface_nested_p1
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
           substitute_service_template: nestedServiceTemplate.yaml
-          count: 9
           mandatory: true
         net1:
           get_input:
index 5d6c575..de6dfcd 100644 (file)
@@ -58,15 +58,6 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: json
-      untrusted_num_vn:
-        type: float
-        description: Number of vDBE subinterface virtual Networks
-        required: true
-        status: SUPPORTED
-        constraints:
-        - in_range:
-          - 1
-          - 77
       subinterface_vlan1_counter:
         type: list
         required: true
@@ -145,6 +136,12 @@ node_types:
         type: integer
         required: true
         status: SUPPORTED
+      subinterface_vlan1_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       port_vdbe_untr_2_port_ip_requirements:
         type: list
         required: true
index 79d5d3a..24ed331 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Main\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-topology_template:\r
-  inputs:\r
-    vf_module_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vf_module_id\r
-      type: string\r
-      description: Unique ID for this VF module inst\r
-    fabric_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the fabric virtual network\r
-    control_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the control virtual network\r
-    control_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the control virtual network\r
-    vnf_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_name\r
-      type: string\r
-      description: Unique name for this VF instance\r
-    vdbe_untrusted_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_ip_1\r
-      type: string\r
-      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-    aap_address_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: aap_address_mode\r
-      type: string\r
-      description: Address mode for the vDBE cluster IP\r
-    control_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_shared\r
-      type: boolean\r
-      description: control virtual network shared\r
-    vdbe_untrusted_v6_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_v6_ip_1\r
-      type: string\r
-      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_untrusted_vmac_address:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_vmac_address\r
-      type: string\r
-      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network\r
-    control_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the control virtual network\r
-    vdbe_aap_sec_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-    vnf_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_id\r
-      type: string\r
-      description: Unique ID for this VF inst\r
-    vdbe_name_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_name_1\r
-      type: string\r
-      description: VM Name for this vdbe node 1\r
-    availability_zone_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: availability_zone_1\r
-      type: string\r
-      description: The availability zone of secondary node1 vDBE vm in the local HA pair.\r
-    untrusted_vn_networks:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vn_networks\r
-      type: list\r
-      description: List of subinterface virtual networks\r
-      entry_schema:\r
-        type: string\r
-    vdbe_image_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_image_name\r
-      type: string\r
-      description: Image to use for vDBE\r
-    oam_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: oam_net_name\r
-      type: string\r
-      description: Name of NSDNet network from which the management IP addresses will be allocated\r
-    vdbe_aap_sec_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix\r
-      type: string\r
-      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix_len\r
-      type: string\r
-      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-    fabric_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the fabric virtual network\r
-    untrusted_vlan_tags:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vlan_tags\r
-      type: list\r
-      description: List of subinterface vlan tags\r
-      entry_schema:\r
-        type: string\r
-    vdbe_flavor_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_flavor_name\r
-      type: string\r
-      description: Flavor to use for vDBE\r
-    counter:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: counter\r
-      type: float\r
-      description: Counter.\r
-    fabric_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the fabric virtual network\r
-    fabric_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_shared\r
-      description: fabric virtual network shared\r
-    vdbe_hw_untr_mac_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_hw_untr_mac_1\r
-      type: string\r
-      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network\r
-    untrusted_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_net_name\r
-      type: string\r
-      description: Name of public untrusted network into which this vDBE HA cluster is deployed\r
-    vdbe_device_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_device_name\r
-      type: string\r
-      description: VDBE device Name for this vdbe VNF\r
-    vdbe_aap_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-  node_templates:\r
-    fabric_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: template-fabric-int\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-      requirements:\r
-      - dependency:\r
-          capability: feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1\r
-          node: abstract_vdbe\r
-          relationship: tosca.relationships.DependsOn\r
-    control_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: VNF_NAME_control_net\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-    abstract_vdbe:\r
-      type: org.openecomp.resource.abstract.nodes.vdbe\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        subinterface_vlan1_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        subinterface_vlan1_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        subinterface_vlan1_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        compute_vdbe_availability_zone:\r
-        - get_input: availability_zone_1\r
-        - get_input: availability_zone_1\r
-        subinterface_vlan1_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        vm_flavor_name:\r
-          get_input: vdbe_flavor_name\r
-        port_vdbe_untr_2_port_virtual_network_refs:\r
-        - - fabric_int_net\r
-        - - fabric_int_net\r
-        subinterface_vlan1_counter:\r
-        - get_input: counter\r
-        - get_input: counter\r
-        subinterface_vlan1_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        vm_image_name:\r
-          get_input: vdbe_image_name\r
-        port_vdbe_untr_2_port_name:\r
-        - Port_2\r
-        - Port_4\r
-        compute_vdbe_metadata:\r
-        - vf_module_id:\r
-            get_input: vf_module_id\r
-          vnf_id:\r
-            get_input: vnf_id\r
-          vnf_name:\r
-            get_input: vnf_name\r
-        - vf_module_id:\r
-            get_input: vf_module_id\r
-          vnf_id:\r
-            get_input: vnf_id\r
-          vnf_name:\r
-            get_input: vnf_name\r
-        subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        port_vdbe_untr_1_port_virtual_network_refs:\r
-        - - control_int_net\r
-        - - control_int_net\r
-        subinterface_vlan1_vn_network_list:\r
-        - control_int_net\r
-        - control_int_net\r
-        subinterface_vlan1_parent_interface:\r
-        - vdbe_untr_1_port_1\r
-        - vdbe_untr_1_port_2\r
-        subinterface_vlan1_aap_address_mode:\r
-        - get_input: aap_address_mode\r
-        - get_input: aap_address_mode\r
-        subinterface_vlan1_optional_property_1:\r
-        - OPTIONAL_VALUE_SUBPORT_1\r
-        - null\r
-        port_vdbe_untr_1_port_name:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        - str_replace:\r
-            template: Port 3\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        subinterface_vlan1_optional_property_2:\r
-        - null\r
-        - OPTIONAL_VALUE_SUBPORT_2\r
-        subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        subinterface_vlan1_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vlan1_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_vlan1_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        - get_input: vdbe_untrusted_ip_1\r
-        compute_vdbe_name:\r
-        - get_input: vdbe_name_1\r
-        - get_input: vdbe_name_1\r
-        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vlan1_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        - get_input: untrusted_vlan_tags\r
-        service_template_filter:\r
-          substitute_service_template: Nested_vdbeServiceTemplate.yaml\r
-          count: 2\r
-        index_value:\r
-          get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-      requirements:\r
-      - link_vdbe_vdbe_untr_1_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: control_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-      - link_vdbe_vdbe_untr_2_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: fabric_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-      - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: control_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-      - dependency_vdbe_vdbe_untr_1_port_vlan1:\r
-          capability: tosca.capabilities.Node\r
-          node: control_int_net\r
-          relationship: tosca.relationships.DependsOn\r
-  groups:\r
-    main_group:\r
-      type: org.openecomp.groups.heat.HeatStack\r
-      properties:\r
-        heat_file: ../Artifacts/main.yml\r
-        description: |\r
-          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)\r
-      members:\r
-      - fabric_int_net\r
-      - control_int_net\r
-      - abstract_vdbe\r
-  outputs:\r
-    out1:\r
-      description: output param connectivity\r
-      value:\r
-        get_attribute:\r
-        - abstract_vdbe\r
-        - vdbe_vdbe_untr_1_port_vlan1_aap_address_mode\r
\ No newline at end of file
+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:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF module inst
+    fabric_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the fabric virtual network
+    control_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the control virtual network
+    control_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the control virtual network
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vdbe_untrusted_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_ip_1
+      type: string
+      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
+    aap_address_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: aap_address_mode
+      type: string
+      description: Address mode for the vDBE cluster IP
+    control_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_shared
+      type: boolean
+      description: control virtual network shared
+    vdbe_untrusted_v6_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_v6_ip_1
+      type: string
+      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_untrusted_vmac_address:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_vmac_address
+      type: string
+      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
+    control_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the control virtual network
+    vdbe_aap_sec_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix
+      type: string
+      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF inst
+    vdbe_name_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_name_1
+      type: string
+      description: VM Name for this vdbe node 1
+    availability_zone_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_1
+      type: string
+      description: The availability zone of secondary node1 vDBE vm in the local HA pair.
+    untrusted_vn_networks:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vn_networks
+      type: list
+      description: List of subinterface virtual networks
+      entry_schema:
+        type: string
+    vdbe_image_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_image_name
+      type: string
+      description: Image to use for vDBE
+    oam_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: Name of NSDNet network from which the management IP addresses will be allocated
+    vdbe_aap_sec_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix
+      type: string
+      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix_len
+      type: string
+      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+    fabric_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the fabric virtual network
+    untrusted_vlan_tags:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vlan_tags
+      type: list
+      description: List of subinterface vlan tags
+      entry_schema:
+        type: string
+    vdbe_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_flavor_name
+      type: string
+      description: Flavor to use for vDBE
+    counter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: counter
+      type: float
+      description: Counter.
+    fabric_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the fabric virtual network
+    fabric_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_shared
+      description: fabric virtual network shared
+    vdbe_hw_untr_mac_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_hw_untr_mac_1
+      type: string
+      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
+    untrusted_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_net_name
+      type: string
+      description: Name of public untrusted network into which this vDBE HA cluster is deployed
+    vdbe_device_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_device_name
+      type: string
+      description: VDBE device Name for this vdbe VNF
+    vdbe_aap_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix
+      type: string
+      description: ip prefix for primary vDBE VM on the VAN untrusted network
+  node_templates:
+    fabric_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: template-fabric-int
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+      requirements:
+      - dependency:
+          capability: feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1
+          node: abstract_vdbe
+          relationship: tosca.relationships.DependsOn
+    control_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: VNF_NAME_control_net
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    abstract_vdbe:
+      type: org.openecomp.resource.abstract.nodes.vdbe
+      directives:
+      - substitutable
+      properties:
+        subinterface_vlan1_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        subinterface_vlan1_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_vlan1_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        compute_vdbe_availability_zone:
+        - get_input: availability_zone_1
+        - get_input: availability_zone_1
+        subinterface_vlan1_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        - - get_input: vdbe_hw_untr_mac_1
+        vm_flavor_name:
+          get_input: vdbe_flavor_name
+        port_vdbe_untr_2_port_virtual_network_refs:
+        - - fabric_int_net
+        - - fabric_int_net
+        subinterface_vlan1_counter:
+        - get_input: counter
+        - get_input: counter
+        subinterface_vlan1_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        vm_image_name:
+          get_input: vdbe_image_name
+        port_vdbe_untr_2_port_name:
+        - Port_2
+        - Port_4
+        compute_vdbe_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        port_vdbe_untr_1_port_virtual_network_refs:
+        - - control_int_net
+        - - control_int_net
+        subinterface_vlan1_vn_network_list:
+        - control_int_net
+        - control_int_net
+        subinterface_vlan1_service_template_filter_count:
+        - get_input: untrusted_num_vn
+        - get_input: untrusted_num_vn
+        subinterface_vlan1_parent_interface:
+        - vdbe_untr_1_port_1
+        - vdbe_untr_1_port_2
+        subinterface_vlan1_aap_address_mode:
+        - get_input: aap_address_mode
+        - get_input: aap_address_mode
+        subinterface_vlan1_optional_property_1:
+        - OPTIONAL_VALUE_SUBPORT_1
+        - null
+        port_vdbe_untr_1_port_name:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        - str_replace:
+            template: Port 3
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_vlan1_optional_property_2:
+        - null
+        - OPTIONAL_VALUE_SUBPORT_2
+        subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_vlan1_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        - get_input: vdbe_hw_untr_mac_1
+        subinterface_vlan1_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_vlan1_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        - get_input: vdbe_untrusted_ip_1
+        compute_vdbe_name:
+        - get_input: vdbe_name_1
+        - get_input: vdbe_name_1
+        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        - - get_input: vdbe_hw_untr_mac_1
+        subinterface_vlan1_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        - get_input: untrusted_vlan_tags
+        service_template_filter:
+          substitute_service_template: Nested_vdbeServiceTemplate.yaml
+          count: 2
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_vdbe_vdbe_untr_1_port:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          relationship: tosca.relationships.network.LinksTo
+      - link_vdbe_vdbe_untr_2_port:
+          capability: tosca.capabilities.network.Linkable
+          node: fabric_int_net
+          relationship: tosca.relationships.network.LinksTo
+      - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          relationship: tosca.relationships.network.LinksTo
+      - dependency_vdbe_vdbe_untr_1_port_vlan1:
+          capability: tosca.capabilities.Node
+          node: control_int_net
+          relationship: tosca.relationships.DependsOn
+  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:
+      - fabric_int_net
+      - control_int_net
+      - abstract_vdbe
+  outputs:
+    out1:
+      description: output param connectivity
+      value:
+        get_attribute:
+        - abstract_vdbe
+        - vdbe_vdbe_untr_1_port_vlan1_aap_address_mode
\ No newline at end of file
index 6f5f545..d751754 100644 (file)
@@ -52,15 +52,6 @@ topology_template:
       required: true
       entry_schema:
         type: json
-    untrusted_num_vn:
-      hidden: false
-      immutable: false
-      type: float
-      description: Number of vDBE subinterface virtual Networks
-      constraints:
-      - in_range:
-        - 1
-        - 77
     subinterface_vlan1_counter:
       type: list
       required: true
@@ -124,6 +115,11 @@ topology_template:
     port_vdbe_untr_2_port_order:
       type: integer
       required: true
+    subinterface_vlan1_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     port_vdbe_untr_2_port_ip_requirements:
       type: list
       required: true
@@ -319,9 +315,11 @@ topology_template:
           - subinterface_vlan1_aap_address_mode
           - index_value
         service_template_filter:
-          substitute_service_template: vlan1ServiceTemplate.yaml
           count:
-            get_input: untrusted_num_vn
+            get_input:
+            - subinterface_vlan1_service_template_filter_count
+            - index_value
+          substitute_service_template: vlan1ServiceTemplate.yaml
           mandatory: false
         aap_untrusted_v6_ip_prefix:
           get_input:
index fed76bd..5f32192 100644 (file)
@@ -50,15 +50,6 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      untrusted_num_vn:
-        type: float
-        description: Number of vDBE subinterface virtual Networks
-        required: true
-        status: SUPPORTED
-        constraints:
-        - in_range:
-          - 1
-          - 77
       subinterface_vlan1_counter:
         type: list
         required: true
@@ -285,6 +276,12 @@ node_types:
         type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
+      subinterface_vlan1_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       subinterface_vlan2_counter:
         type: list
         required: true
@@ -337,6 +334,12 @@ node_types:
         type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
+      subinterface_vlan2_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
         type: list
         required: true
index cc23ab4..c973648 100644 (file)
@@ -99,6 +99,23 @@ topology_template:
             param_name: vdbe_aap_untrusted_ip_prefix_len
       type: string
       description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
     aap_address_mode:
       hidden: false
       immutable: false
@@ -600,6 +617,9 @@ topology_template:
         subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:
         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_vlan1_service_template_filter_count:
+        - get_input: untrusted_num_vn
+        - get_input: untrusted_num_vn
         subinterface_vlan2_counter:
         - get_input: counter
         - get_input: counter
@@ -630,6 +650,9 @@ topology_template:
         subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:
         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        subinterface_vlan2_service_template_filter_count:
+        - 5
+        - 5
         subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
index 69a8eea..e256c4f 100644 (file)
@@ -45,15 +45,6 @@ topology_template:
     port_vdbe_oam_vmi_subnetpoolid:
       type: string
       required: true
-    untrusted_num_vn:
-      hidden: false
-      immutable: false
-      type: float
-      description: Number of vDBE subinterface virtual Networks
-      constraints:
-      - in_range:
-        - 1
-        - 77
     subinterface_vlan1_counter:
       type: list
       required: true
@@ -239,6 +230,11 @@ topology_template:
     port_vdbe_oam_vmi_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
+    subinterface_vlan1_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     subinterface_vlan2_counter:
       type: list
       required: true
@@ -282,6 +278,11 @@ topology_template:
     port_vdbe_untr_vmi_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
+    subinterface_vlan2_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
       type: list
       required: true
@@ -354,9 +355,11 @@ topology_template:
           - subinterface_vlan1_aap_address_mode
           - index_value
         service_template_filter:
-          substitute_service_template: vlan1ServiceTemplate.yaml
           count:
-            get_input: untrusted_num_vn
+            get_input:
+            - subinterface_vlan1_service_template_filter_count
+            - index_value
+          substitute_service_template: vlan1ServiceTemplate.yaml
           mandatory: false
         aap_untrusted_v6_ip_prefix:
           get_input:
@@ -513,8 +516,11 @@ topology_template:
           - subinterface_vlan2_aap_address_mode
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_vlan2_service_template_filter_count
+            - index_value
           substitute_service_template: vlan2ServiceTemplate.yaml
-          count: 5
           mandatory: true
         aap_untrusted_v6_ip_prefix:
           get_input:
index d296770..0cd031a 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: GlobalSubstitutionTypes\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-node_types:\r
-  org.openecomp.resource.abstract.nodes.vdbe:\r
-    derived_from: org.openecomp.resource.abstract.nodes.VFC\r
-    properties:\r
-      port_vdbe_untr_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      port_vdbe_untr_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      compute_vdbe_availability_zone:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_flavor_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_image_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_metadata:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_nested_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_nested_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      index_value:\r
-        type: integer\r
-        description: Index value of this substitution service template runtime instance\r
-        required: false\r
-        default: 0\r
-        status: SUPPORTED\r
-        constraints:\r
-        - greater_or_equal: 0\r
-      subinterface_nested_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_vn_network_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_nested_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_counter:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: float\r
-      subinterface_nested_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-    requirements:\r
-    - dependency_vdbe:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - local_storage_vdbe:\r
-        capability: tosca.capabilities.Attachment\r
-        node: tosca.nodes.BlockStorage\r
-        relationship: tosca.relationships.AttachesTo\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_vdbe_untr_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe_vdbe_untr_port_nested:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      endpoint_vdbe:\r
-        type: tosca.capabilities.Endpoint.Admin\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.ephemeral.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_util_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      vcpus_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      scalable_vdbe:\r
-        type: tosca.capabilities.Scalable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      instance_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu.delta_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.resident_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_port_nested:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      host_vdbe:\r
-        type: tosca.capabilities.Container\r
-        valid_source_types:\r
-        - tosca.nodes.SoftwareComponent\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      os_vdbe:\r
-        type: tosca.capabilities.OperatingSystem\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.root.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe:\r
-        type: tosca.capabilities.network.Bindable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.nested:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      vn_network_list:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_int_vmi_subport:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_int_vmi_subport:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_int_vmi_subport:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_int_vmi_subport:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
\ No newline at end of file
+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.vdbe:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_vdbe_untr_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_vdbe_untr_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_vdbe_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_nested_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      subinterface_nested_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_nested_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_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
+      subinterface_nested_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_nested_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+    requirements:
+    - dependency_vdbe:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_vdbe:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_vdbe_untr_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe_vdbe_untr_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      network.outgoing.packets.rate_vdbe_vdbe_untr_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_vdbe_vdbe_untr_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_vdbe:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_vdbe_untr_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_vdbe:
+        type: org.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_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_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_vdbe:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_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_vdbe_vdbe_untr_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_vdbe:
+        type: org.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_vdbe_vdbe_untr_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_vdbe_vdbe_untr_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      instance_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_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
+  org.openecomp.resource.abstract.nodes.heat.subinterface.nested:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      vn_network_list:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_int_vmi_subport:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_int_vmi_subport:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_int_vmi_subport:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_int_vmi_subport:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
\ No newline at end of file
index 828abb9..e8d9805 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Main\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-topology_template:\r
-  inputs:\r
-    control_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the control virtual network\r
-    control_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the control virtual network\r
-    vnf_name_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_name_1\r
-      type: string\r
-      description: Unique name for this VF instance\r
-    vnf_name_2:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_name_2\r
-      type: string\r
-      description: Unique name for this VF instance\r
-    vnf_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_name\r
-      type: string\r
-      description: Unique name for this VF instance\r
-    vdbe_untrusted_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_ip_1\r
-      type: string\r
-      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-    vnf_id_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_id_1\r
-      type: string\r
-      description: Unique ID for this VF inst\r
-    vnf_id_2:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_id_2\r
-      type: string\r
-      description: Unique ID for this VF inst\r
-    untrusted_num_vn:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_num_vn\r
-      type: float\r
-      description: Number of vDBE subinterface virtual Networks\r
-      constraints:\r
-      - in_range:\r
-        - 1\r
-        - 77\r
-    aap_address_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: aap_address_mode\r
-      type: string\r
-      description: Address mode for the vDBE cluster IP\r
-    control_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_shared\r
-      type: boolean\r
-      description: control virtual network shared\r
-    vdbe_untrusted_v6_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_v6_ip_1\r
-      type: string\r
-      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_untrusted_vmac_address:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_vmac_address\r
-      type: string\r
-      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network\r
-    control_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the control virtual network\r
-    vdbe_aap_sec_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-    vdbe_name_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_name_1\r
-      type: string\r
-      description: VM Name for this vdbe node 1\r
-    availability_zone_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: availability_zone_1\r
-      type: string\r
-      description: The availability zone of secondary node1 vDBE vm in the local HA pair.\r
-    availability_zone_2:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: availability_zone_2\r
-      type: string\r
-      description: The availability zone of secondary node2 vDBE vm in the local HA pair.\r
-    untrusted_vn_networks:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vn_networks\r
-      type: list\r
-      description: List of subinterface virtual networks\r
-      entry_schema:\r
-        type: string\r
-    vdbe_image_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_image_name\r
-      type: string\r
-      description: Image to use for vDBE\r
-    oam_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: oam_net_name\r
-      type: string\r
-      description: Name of NSDNet network from which the management IP addresses will be allocated\r
-    vdbe_name_2:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_name_2\r
-      type: string\r
-      description: VM Name for this vdbe node 2\r
-    vdbe_aap_sec_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix\r
-      type: string\r
-      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix_len\r
-      type: string\r
-      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-    untrusted_vlan_tags:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vlan_tags\r
-      type: list\r
-      description: List of subinterface vlan tags\r
-      entry_schema:\r
-        type: string\r
-    vdbe_flavor_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_flavor_name\r
-      type: string\r
-      description: Flavor to use for vDBE\r
-    counter:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: counter\r
-      type: float\r
-      description: Counter.\r
-    vf_module_id_2:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vf_module_id_2\r
-      type: string\r
-      description: Unique ID for this VF module inst\r
-    vf_module_id_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vf_module_id_1\r
-      type: string\r
-      description: Unique ID for this VF module inst\r
-    vdbe_hw_untr_mac_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_hw_untr_mac_1\r
-      type: string\r
-      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network\r
-    untrusted_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_net_name\r
-      type: string\r
-      description: Name of public untrusted network into which this vDBE HA cluster is deployed\r
-    vdbe_device_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_device_name\r
-      type: string\r
-      description: VDBE device Name for this vdbe VNF\r
-    vdbe_aap_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-  node_templates:\r
-    control_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: VNF_NAME_control_net\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-    abstract_vdbe:\r
-      type: org.openecomp.resource.abstract.nodes.vdbe\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        subinterface_nested_parent_interface:\r
-        - vdbe_untr_port_1\r
-        - vdbe_untr_port_2\r
-        subinterface_nested_aap_address_mode:\r
-        - get_input: aap_address_mode\r
-        - get_input: aap_address_mode\r
-        subinterface_nested_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        - get_input: untrusted_vlan_tags\r
-        compute_vdbe_availability_zone:\r
-        - get_input: availability_zone_1\r
-        - get_input: availability_zone_2\r
-        subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        vm_flavor_name:\r
-          get_input: vdbe_flavor_name\r
-        subinterface_nested_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        vm_image_name:\r
-          get_input: vdbe_image_name\r
-        subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        compute_vdbe_metadata:\r
-        - vf_module_id:\r
-            get_input: vf_module_id_1\r
-          vnf_id:\r
-            get_input: vnf_id_1\r
-          vnf_name:\r
-            get_input: vnf_name_1\r
-        - vf_module_id:\r
-            get_input: vf_module_id_2\r
-          vnf_id:\r
-            get_input: vnf_id_2\r
-          vnf_name:\r
-            get_input: vnf_name_2\r
-        subinterface_nested_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_nested_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        - get_input: vdbe_untrusted_ip_1\r
-        port_vdbe_untr_port_virtual_network_refs:\r
-        - - control_int_net\r
-        - - control_int_net\r
-        subinterface_nested_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        subinterface_nested_vmac_address:\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        subinterface_nested_vn_network_list:\r
-        - get_input: untrusted_vn_networks\r
-        - get_input: untrusted_vn_networks\r
-        port_vdbe_untr_port_name:\r
-        - Untr_Port_1\r
-        - Untr_Port_2\r
-        port_vdbe_untr_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_nested_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_nested_counter:\r
-        - get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-        - get_input: counter\r
-        subinterface_nested_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        compute_vdbe_name:\r
-        - get_input: vdbe_name_1\r
-        - get_input: vdbe_name_2\r
-        service_template_filter:\r
-          substitute_service_template: Nested_vdbeServiceTemplate.yaml\r
-          count: 2\r
-        index_value:\r
-          get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-      requirements:\r
-      - link_vdbe_vdbe_untr_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: control_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-  groups:\r
-    main_group:\r
-      type: org.openecomp.groups.heat.HeatStack\r
-      properties:\r
-        heat_file: ../Artifacts/main.yml\r
-        description: |\r
-          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)\r
-      members:\r
-      - control_int_net\r
-      - abstract_vdbe\r
\ No newline at end of file
+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:
+    control_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the control virtual network
+    control_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the control virtual network
+    vnf_name_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name_1
+      type: string
+      description: Unique name for this VF instance
+    vnf_name_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name_2
+      type: string
+      description: Unique name for this VF instance
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vdbe_untrusted_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_ip_1
+      type: string
+      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    vnf_id_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_id_1
+      type: string
+      description: Unique ID for this VF inst
+    vnf_id_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_id_2
+      type: string
+      description: Unique ID for this VF inst
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
+    aap_address_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: aap_address_mode
+      type: string
+      description: Address mode for the vDBE cluster IP
+    control_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_shared
+      type: boolean
+      description: control virtual network shared
+    vdbe_untrusted_v6_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_v6_ip_1
+      type: string
+      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_untrusted_vmac_address:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_vmac_address
+      type: string
+      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
+    control_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the control virtual network
+    vdbe_aap_sec_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix
+      type: string
+      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+    vdbe_name_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_name_1
+      type: string
+      description: VM Name for this vdbe node 1
+    availability_zone_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_1
+      type: string
+      description: The availability zone of secondary node1 vDBE vm in the local HA pair.
+    availability_zone_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_2
+      type: string
+      description: The availability zone of secondary node2 vDBE vm in the local HA pair.
+    untrusted_vn_networks:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vn_networks
+      type: list
+      description: List of subinterface virtual networks
+      entry_schema:
+        type: string
+    vdbe_image_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_image_name
+      type: string
+      description: Image to use for vDBE
+    oam_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: Name of NSDNet network from which the management IP addresses will be allocated
+    vdbe_name_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_name_2
+      type: string
+      description: VM Name for this vdbe node 2
+    vdbe_aap_sec_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix
+      type: string
+      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix_len
+      type: string
+      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_vlan_tags:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vlan_tags
+      type: list
+      description: List of subinterface vlan tags
+      entry_schema:
+        type: string
+    vdbe_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_flavor_name
+      type: string
+      description: Flavor to use for vDBE
+    counter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: counter
+      type: float
+      description: Counter.
+    vf_module_id_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vf_module_id_2
+      type: string
+      description: Unique ID for this VF module inst
+    vf_module_id_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vf_module_id_1
+      type: string
+      description: Unique ID for this VF module inst
+    vdbe_hw_untr_mac_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_hw_untr_mac_1
+      type: string
+      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
+    untrusted_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_net_name
+      type: string
+      description: Name of public untrusted network into which this vDBE HA cluster is deployed
+    vdbe_device_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_device_name
+      type: string
+      description: VDBE device Name for this vdbe VNF
+    vdbe_aap_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix
+      type: string
+      description: ip prefix for primary vDBE VM on the VAN untrusted network
+  node_templates:
+    control_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: VNF_NAME_control_net
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    abstract_vdbe:
+      type: org.openecomp.resource.abstract.nodes.vdbe
+      directives:
+      - substitutable
+      properties:
+        subinterface_nested_parent_interface:
+        - vdbe_untr_port_1
+        - vdbe_untr_port_2
+        subinterface_nested_aap_address_mode:
+        - get_input: aap_address_mode
+        - get_input: aap_address_mode
+        subinterface_nested_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        - get_input: untrusted_vlan_tags
+        compute_vdbe_availability_zone:
+        - get_input: availability_zone_1
+        - get_input: availability_zone_2
+        subinterface_nested_service_template_filter_count:
+        - 5
+        - 5
+        subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        vm_flavor_name:
+          get_input: vdbe_flavor_name
+        subinterface_nested_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        vm_image_name:
+          get_input: vdbe_image_name
+        subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_nested_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        subinterface_nested_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        compute_vdbe_metadata:
+        - vf_module_id:
+            get_input: vf_module_id_1
+          vnf_id:
+            get_input: vnf_id_1
+          vnf_name:
+            get_input: vnf_name_1
+        - vf_module_id:
+            get_input: vf_module_id_2
+          vnf_id:
+            get_input: vnf_id_2
+          vnf_name:
+            get_input: vnf_name_2
+        subinterface_nested_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        - get_input: vdbe_hw_untr_mac_1
+        subinterface_nested_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        - get_input: vdbe_untrusted_ip_1
+        port_vdbe_untr_port_virtual_network_refs:
+        - - control_int_net
+        - - control_int_net
+        subinterface_nested_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_nested_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        - get_input: vdbe_untrusted_vmac_address
+        subinterface_nested_vn_network_list:
+        - get_input: untrusted_vn_networks
+        - get_input: untrusted_vn_networks
+        port_vdbe_untr_port_name:
+        - Untr_Port_1
+        - Untr_Port_2
+        port_vdbe_untr_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        - - get_input: vdbe_hw_untr_mac_1
+        subinterface_nested_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_nested_counter:
+        - get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+        - get_input: counter
+        subinterface_nested_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        compute_vdbe_name:
+        - get_input: vdbe_name_1
+        - get_input: vdbe_name_2
+        service_template_filter:
+          substitute_service_template: Nested_vdbeServiceTemplate.yaml
+          count: 2
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_vdbe_vdbe_untr_port:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          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:
+      - control_int_net
+      - abstract_vdbe
\ No newline at end of file
index 73c0fe3..e3c02e0 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Nested_vdbe\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-node_types:\r
-  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:\r
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server\r
-topology_template:\r
-  inputs:\r
-    port_vdbe_untr_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    subinterface_nested_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    port_vdbe_untr_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    compute_vdbe_availability_zone:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_flavor_name:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_port_order:\r
-      type: integer\r
-      required: true\r
-    subinterface_nested_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_image_name:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_metadata:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_nested_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    subinterface_nested_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_nested_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    index_value:\r
-      type: integer\r
-      description: Index value of this substitution service template runtime instance\r
-      required: false\r
-      default: 0\r
-      constraints:\r
-      - greater_or_equal: 0\r
-    subinterface_nested_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_vn_network_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_port_network_role:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_nested_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_counter:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: float\r
-    subinterface_nested_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-  node_templates:\r
-    vdbe:\r
-      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe\r
-      properties:\r
-        availability_zone:\r
-          get_input:\r
-          - compute_vdbe_availability_zone\r
-          - index_value\r
-        flavor:\r
-          get_input: vm_flavor_name\r
-        metadata:\r
-          get_input:\r
-          - compute_vdbe_metadata\r
-          - index_value\r
-        image:\r
-          get_input: vm_image_name\r
-        name:\r
-          get_input:\r
-          - compute_vdbe_name\r
-          - index_value\r
-    vdbe_vdbe_untr_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe_vdbe_untr_port_nested:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_nested_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_input:\r
-          - subinterface_nested_counter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_nested_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_nested_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_nested_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: nestedServiceTemplate.yaml\r
-          count: 5\r
-          mandatory: true\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_nested_parent_interface\r
-          - index_value\r
-        vn_network_list:\r
-          get_input:\r
-          - subinterface_nested_vn_network_list\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_nested_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_nested_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_nested_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_int_vmi_subport:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-  substitution_mappings:\r
-    node_type: org.openecomp.resource.abstract.nodes.vdbe\r
-    capabilities:\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.outgoing.packets.rate\r
-      network.outgoing.bytes_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.outgoing.bytes\r
-      feature_vdbe:\r
-      - vdbe\r
-      - feature\r
-      feature_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - feature\r
-      disk.device.iops_vdbe:\r
-      - vdbe\r
-      - disk.device.iops\r
-      endpoint_vdbe:\r
-      - vdbe\r
-      - endpoint\r
-      disk.ephemeral.size_vdbe:\r
-      - vdbe\r
-      - disk.ephemeral.size\r
-      feature_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-      - vdbe_vdbe_untr_port_nested\r
-      - feature_vdbe_untr_x_int_vmi_subport\r
-      cpu_util_vdbe:\r
-      - vdbe\r
-      - cpu_util\r
-      vcpus_vdbe:\r
-      - vdbe\r
-      - vcpus\r
-      disk.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.write.requests\r
-      disk.device.latency_vdbe:\r
-      - vdbe\r
-      - disk.device.latency\r
-      disk.device.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests.rate\r
-      disk.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes.rate\r
-      network.incoming.packets_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.incoming.packets\r
-      scalable_vdbe:\r
-      - vdbe\r
-      - scalable\r
-      disk.iops_vdbe:\r
-      - vdbe\r
-      - disk.iops\r
-      disk.device.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests\r
-      disk.device.capacity_vdbe:\r
-      - vdbe\r
-      - disk.device.capacity\r
-      disk.device.allocation_vdbe:\r
-      - vdbe\r
-      - disk.device.allocation\r
-      disk.usage_vdbe:\r
-      - vdbe\r
-      - disk.usage\r
-      memory.usage_vdbe:\r
-      - vdbe\r
-      - memory.usage\r
-      network.outpoing.packets_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.outpoing.packets\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.outgoing.bytes.rate\r
-      disk.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.read.requests\r
-      forwarder_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - forwarder\r
-      binding_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - binding\r
-      instance_vdbe:\r
-      - vdbe\r
-      - instance\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.incoming.bytes.rate\r
-      cpu.delta_vdbe:\r
-      - vdbe\r
-      - cpu.delta\r
-      disk.device.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes.rate\r
-      disk.device.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes.rate\r
-      memory.resident_vdbe:\r
-      - vdbe\r
-      - memory.resident\r
-      feature_vdbe_vdbe_untr_port_nested:\r
-      - vdbe_vdbe_untr_port_nested\r
-      - feature\r
-      disk.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.requests.rate\r
-      cpu_vdbe:\r
-      - vdbe\r
-      - cpu\r
-      disk.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes\r
-      disk.device.usage_vdbe:\r
-      - vdbe\r
-      - disk.device.usage\r
-      disk.device.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes\r
-      disk.latency_vdbe:\r
-      - vdbe\r
-      - disk.latency\r
-      network.incoming.bytes_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.incoming.bytes\r
-      disk.capacity_vdbe:\r
-      - vdbe\r
-      - disk.capacity\r
-      host_vdbe:\r
-      - vdbe\r
-      - host\r
-      disk.allocation_vdbe:\r
-      - vdbe\r
-      - disk.allocation\r
-      disk.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes.rate\r
-      os_vdbe:\r
-      - vdbe\r
-      - os\r
-      disk.device.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests\r
-      disk.root.size_vdbe:\r
-      - vdbe\r
-      - disk.root.size\r
-      memory_vdbe:\r
-      - vdbe\r
-      - memory\r
-      binding_vdbe:\r
-      - vdbe\r
-      - binding\r
-      disk.device.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes\r
-      disk.device.read.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests.rate\r
-      disk.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.incoming.packets.rate\r
-    requirements:\r
-      dependency_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - dependency\r
-      dependency_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-      - vdbe_vdbe_untr_port_nested\r
-      - dependency_vdbe_untr_x_int_vmi_subport\r
-      link_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - link\r
-      local_storage_vdbe:\r
-      - vdbe\r
-      - local_storage\r
-      link_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-      - vdbe_vdbe_untr_port_nested\r
-      - link_vdbe_untr_x_int_vmi_subport\r
-      dependency_vdbe_vdbe_untr_port_nested:\r
-      - vdbe_vdbe_untr_port_nested\r
-      - dependency\r
-      dependency_vdbe:\r
-      - vdbe\r
-      - dependency\r
\ No newline at end of file
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_vdbe
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_vdbe_untr_port_network_role_tag:
+      type: string
+      required: true
+    subinterface_nested_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_vdbe_untr_port_subnetpoolid:
+      type: string
+      required: true
+    compute_vdbe_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    port_vdbe_untr_port_order:
+      type: integer
+      required: true
+    subinterface_nested_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_image_name:
+      type: string
+      required: true
+    port_vdbe_untr_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_nested_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    subinterface_nested_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_nested_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_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
+    subinterface_nested_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_port_network_role:
+      type: string
+      required: true
+    port_vdbe_untr_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_nested_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+  node_templates:
+    vdbe:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
+      properties:
+        availability_zone:
+          get_input:
+          - compute_vdbe_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_vdbe_metadata
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_vdbe_name
+          - index_value
+    vdbe_vdbe_untr_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+    vdbe_vdbe_untr_port_nested:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_nested_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_nested_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_nested_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_nested_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_nested_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
+          mandatory: true
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_nested_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_nested_vn_network_list
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_nested_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_nested_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_nested_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_int_vmi_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_port
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.vdbe
+    capabilities:
+      network.outgoing.packets.rate_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.outgoing.packets.rate
+      network.outgoing.bytes_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.outgoing.bytes
+      feature_vdbe:
+      - vdbe
+      - feature
+      feature_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - feature
+      disk.device.iops_vdbe:
+      - vdbe
+      - disk.device.iops
+      endpoint_vdbe:
+      - vdbe
+      - endpoint
+      disk.ephemeral.size_vdbe:
+      - vdbe
+      - disk.ephemeral.size
+      feature_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:
+      - vdbe_vdbe_untr_port_nested
+      - feature_vdbe_untr_x_int_vmi_subport
+      cpu_util_vdbe:
+      - vdbe
+      - cpu_util
+      vcpus_vdbe:
+      - vdbe
+      - vcpus
+      disk.write.requests_vdbe:
+      - vdbe
+      - disk.write.requests
+      disk.device.latency_vdbe:
+      - vdbe
+      - disk.device.latency
+      disk.device.write.requests.rate_vdbe:
+      - vdbe
+      - disk.device.write.requests.rate
+      disk.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.write.bytes.rate
+      network.incoming.packets_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.incoming.packets
+      scalable_vdbe:
+      - vdbe
+      - scalable
+      disk.iops_vdbe:
+      - vdbe
+      - disk.iops
+      disk.device.write.requests_vdbe:
+      - vdbe
+      - disk.device.write.requests
+      disk.device.capacity_vdbe:
+      - vdbe
+      - disk.device.capacity
+      disk.device.allocation_vdbe:
+      - vdbe
+      - disk.device.allocation
+      disk.usage_vdbe:
+      - vdbe
+      - disk.usage
+      memory.usage_vdbe:
+      - vdbe
+      - memory.usage
+      network.outpoing.packets_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.outpoing.packets
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.outgoing.bytes.rate
+      disk.read.requests_vdbe:
+      - vdbe
+      - disk.read.requests
+      forwarder_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - forwarder
+      binding_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - binding
+      instance_vdbe:
+      - vdbe
+      - instance
+      network.incoming.bytes.rate_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.incoming.bytes.rate
+      cpu.delta_vdbe:
+      - vdbe
+      - cpu.delta
+      disk.device.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.read.bytes.rate
+      disk.device.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.write.bytes.rate
+      memory.resident_vdbe:
+      - vdbe
+      - memory.resident
+      feature_vdbe_vdbe_untr_port_nested:
+      - vdbe_vdbe_untr_port_nested
+      - feature
+      disk.write.requests.rate_vdbe:
+      - vdbe
+      - disk.write.requests.rate
+      cpu_vdbe:
+      - vdbe
+      - cpu
+      disk.write.bytes_vdbe:
+      - vdbe
+      - disk.write.bytes
+      disk.device.usage_vdbe:
+      - vdbe
+      - disk.device.usage
+      disk.device.read.bytes_vdbe:
+      - vdbe
+      - disk.device.read.bytes
+      disk.latency_vdbe:
+      - vdbe
+      - disk.latency
+      network.incoming.bytes_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.incoming.bytes
+      disk.capacity_vdbe:
+      - vdbe
+      - disk.capacity
+      host_vdbe:
+      - vdbe
+      - host
+      disk.allocation_vdbe:
+      - vdbe
+      - disk.allocation
+      disk.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.read.bytes.rate
+      os_vdbe:
+      - vdbe
+      - os
+      disk.device.read.requests_vdbe:
+      - vdbe
+      - disk.device.read.requests
+      disk.root.size_vdbe:
+      - vdbe
+      - disk.root.size
+      memory_vdbe:
+      - vdbe
+      - memory
+      binding_vdbe:
+      - vdbe
+      - binding
+      disk.device.write.bytes_vdbe:
+      - vdbe
+      - disk.device.write.bytes
+      disk.device.read.requests.rate_vdbe:
+      - vdbe
+      - disk.device.read.requests.rate
+      disk.read.bytes_vdbe:
+      - vdbe
+      - disk.read.bytes
+      network.incoming.packets.rate_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.incoming.packets.rate
+    requirements:
+      dependency_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - dependency
+      dependency_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:
+      - vdbe_vdbe_untr_port_nested
+      - dependency_vdbe_untr_x_int_vmi_subport
+      link_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - link
+      local_storage_vdbe:
+      - vdbe
+      - local_storage
+      link_vdbe_untr_x_int_vmi_subport_vdbe_vdbe_untr_port_nested:
+      - vdbe_vdbe_untr_port_nested
+      - link_vdbe_untr_x_int_vmi_subport
+      dependency_vdbe_vdbe_untr_port_nested:
+      - vdbe_vdbe_untr_port_nested
+      - dependency
+      dependency_vdbe:
+      - vdbe
+      - dependency
\ No newline at end of file
index ef80586..b4f43f2 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: GlobalSubstitutionTypes\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-node_types:\r
-  org.openecomp.resource.abstract.nodes.vdbe:\r
-    derived_from: org.openecomp.resource.abstract.nodes.VFC\r
-    properties:\r
-      subinterface_vlan1_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_availability_zone:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      port_vdbe_untr_2_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      vm_flavor_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      untrusted_num_vn:\r
-        type: float\r
-        description: Number of vDBE subinterface virtual Networks\r
-        required: true\r
-        status: SUPPORTED\r
-        constraints:\r
-        - in_range:\r
-          - 1\r
-          - 77\r
-      subinterface_vlan1_counter:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: float\r
-      vm_image_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_2_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      compute_vdbe_metadata:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-      port_vdbe_untr_2_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_2_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_2_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-      port_vdbe_untr_1_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_2_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan1_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan1_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_2_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan1_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_2_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan1_vn_network_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_2_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_2_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan1_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      index_value:\r
-        type: integer\r
-        description: Index value of this substitution service template runtime instance\r
-        required: false\r
-        default: 0\r
-        status: SUPPORTED\r
-        constraints:\r
-        - greater_or_equal: 0\r
-      port_vdbe_untr_1_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_vlan1_optional_property_1:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_1_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_optional_property_2:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_1_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_vlan1_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-    requirements:\r
-    - dependency_vdbe:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - local_storage_vdbe:\r
-        capability: tosca.capabilities.Attachment\r
-        node: tosca.nodes.BlockStorage\r
-        relationship: tosca.relationships.AttachesTo\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_vdbe_untr_2_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_2_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe_vdbe_untr_1_port_vlan1:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_1_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      endpoint_vdbe:\r
-        type: tosca.capabilities.Endpoint.Admin\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.ephemeral.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_2_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_util_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      vcpus_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port_vlan1:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      scalable_vdbe:\r
-        type: tosca.capabilities.Scalable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      instance_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu.delta_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_1_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      disk.device.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.resident_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      host_vdbe:\r
-        type: tosca.capabilities.Container\r
-        valid_source_types:\r
-        - tosca.nodes.SoftwareComponent\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      os_vdbe:\r
-        type: tosca.capabilities.OperatingSystem\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.root.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_2_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      memory_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe:\r
-        type: tosca.capabilities.network.Bindable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_2_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.vlan1:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      vn_network_list:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      optional_property_1:\r
-        type: string\r
-        description: Optional property\r
-        required: true\r
-        status: SUPPORTED\r
-      optional_property_2:\r
-        type: string\r
-        description: Optional property\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_vlan1-Network-Role_vmi_subport:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
\ No newline at end of file
+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.vdbe:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      subinterface_vlan1_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_vdbe_untr_2_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vlan1_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_2_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_vdbe_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_vdbe_untr_2_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_2_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_2_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_vdbe_untr_1_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_2_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      subinterface_vlan1_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_vlan1_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_2_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan1_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_2_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan1_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_2_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_2_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      subinterface_vlan1_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vlan1_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_address_mode:
+        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
+      port_vdbe_untr_1_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      subinterface_vlan1_optional_property_1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_optional_property_2:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_vlan1_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+    requirements:
+    - dependency_vdbe:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_vdbe:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_vdbe_untr_2_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_2_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe_vdbe_untr_1_port_vlan1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_vdbe:
+        type: org.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_vdbe_vdbe_untr_2_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port_vlan1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe_vdbe_untr_1_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.allocation_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.bytes.rate_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_2_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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
+      os_vdbe:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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.root.size_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe_vdbe_untr_2_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      memory_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_2_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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.vlan1:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      vn_network_list:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      optional_property_1:
+        type: string
+        description: Optional property
+        required: true
+        status: SUPPORTED
+      optional_property_2:
+        type: string
+        description: Optional property
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_vlan1-Network-Role_vmi_subport:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
\ No newline at end of file
index 90cdb20..6490260 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Main\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-topology_template:\r
-  inputs:\r
-    vf_module_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vf_module_id\r
-      type: string\r
-      description: Unique ID for this VF module inst\r
-    fabric_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the fabric virtual network\r
-    control_int_net_rpf:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_rpf\r
-      type: string\r
-      description: Reverse Path Filtering enable or disable for the control virtual network\r
-    control_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the control virtual network\r
-    vnf_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_name\r
-      type: string\r
-      description: Unique name for this VF instance\r
-    vdbe_untrusted_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_ip_1\r
-      type: string\r
-      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-    aap_address_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: aap_address_mode\r
-      type: string\r
-      description: Address mode for the vDBE cluster IP\r
-    control_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_shared\r
-      type: boolean\r
-      description: control virtual network shared\r
-    vdbe_untrusted_v6_ip_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_v6_ip_1\r
-      type: string\r
-      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network\r
-    vdbe_untrusted_vmac_address:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_untrusted_vmac_address\r
-      type: string\r
-      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network\r
-    control_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: control_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the control virtual network\r
-    vdbe_aap_sec_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-    vnf_id:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vnf_id\r
-      type: string\r
-      description: Unique ID for this VF inst\r
-    vdbe_name_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_name_1\r
-      type: string\r
-      description: VM Name for this vdbe node 1\r
-    availability_zone_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: availability_zone_1\r
-      type: string\r
-      description: The availability zone of secondary node1 vDBE vm in the local HA pair.\r
-    untrusted_vn_networks:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vn_networks\r
-      type: list\r
-      description: List of subinterface virtual networks\r
-      entry_schema:\r
-        type: string\r
-    vdbe_image_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_image_name\r
-      type: string\r
-      description: Image to use for vDBE\r
-    oam_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: oam_net_name\r
-      type: string\r
-      description: Name of NSDNet network from which the management IP addresses will be allocated\r
-    vdbe_aap_sec_untrusted_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_sec_untrusted_ip_prefix_len\r
-      type: string\r
-      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix\r
-      type: string\r
-      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-    vdbe_aap_untrusted_v6_ip_prefix_len:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_v6_ip_prefix_len\r
-      type: string\r
-      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-    fabric_int_net_flood_unknown_unicast:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_flood_unknown_unicast\r
-      type: boolean\r
-      description: forwarding mode of the fabric virtual network\r
-    untrusted_vlan_tags:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_vlan_tags\r
-      type: list\r
-      description: List of subinterface vlan tags\r
-      entry_schema:\r
-        type: string\r
-    vdbe_flavor_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_flavor_name\r
-      type: string\r
-      description: Flavor to use for vDBE\r
-    counter:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: counter\r
-      type: float\r
-      description: Counter.\r
-    fabric_int_net_forwarding_mode:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_forwarding_mode\r
-      type: string\r
-      description: forwarding mode of the fabric virtual network\r
-    fabric_int_net_shared:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: fabric_int_net_shared\r
-      description: fabric virtual network shared\r
-    vdbe_hw_untr_mac_1:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_hw_untr_mac_1\r
-      type: string\r
-      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network\r
-    untrusted_net_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: untrusted_net_name\r
-      type: string\r
-      description: Name of public untrusted network into which this vDBE HA cluster is deployed\r
-    vdbe_device_name:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_device_name\r
-      type: string\r
-      description: VDBE device Name for this vdbe VNF\r
-    vdbe_aap_untrusted_ip_prefix:\r
-      hidden: false\r
-      immutable: false\r
-      annotations:\r
-        source:\r
-          type: org.openecomp.annotations.Source\r
-          properties:\r
-            vf_module_label:\r
-            - main\r
-            source_type: HEAT\r
-            param_name: vdbe_aap_untrusted_ip_prefix\r
-      type: string\r
-      description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-  node_templates:\r
-    fabric_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: template-fabric-int\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-    control_int_net:\r
-      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork\r
-      properties:\r
-        network_name:\r
-          str_replace:\r
-            template: VNF_NAME_control_net\r
-            params:\r
-              VNF_NAME:\r
-                get_input: vnf_name\r
-    abstract_vdbe:\r
-      type: org.openecomp.resource.abstract.nodes.vdbe\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        subinterface_vlan1_aap_untrusted_v6_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix\r
-        subinterface_vlan1_aap_sec_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix\r
-        subinterface_vlan1_vmac_address:\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        - get_input: vdbe_untrusted_vmac_address\r
-        compute_vdbe_availability_zone:\r
-        - get_input: availability_zone_1\r
-        - get_input: availability_zone_1\r
-        port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        vm_flavor_name:\r
-          get_input: vdbe_flavor_name\r
-        subinterface_vlan1_counter:\r
-        - get_input: counter\r
-        - get_input: counter\r
-        vm_image_name:\r
-          get_input: vdbe_image_name\r
-        compute_vdbe_metadata:\r
-        - vf_module_id:\r
-            get_input: vf_module_id\r
-          vnf_id:\r
-            get_input: vnf_id\r
-          vnf_name:\r
-            get_input: vnf_name\r
-        - vf_module_id:\r
-            get_input: vf_module_id\r
-          vnf_id:\r
-            get_input: vnf_id\r
-          vnf_name:\r
-            get_input: vnf_name\r
-        subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len\r
-        subinterface_vlan1_mac_address:\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vlan1_aap_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        - get_input: vdbe_aap_untrusted_ip_prefix_len\r
-        subinterface_vlan1_ip_address:\r
-        - get_input: vdbe_untrusted_ip_1\r
-        - get_input: vdbe_untrusted_ip_1\r
-        compute_vdbe_name:\r
-        - get_input: vdbe_name_1\r
-        - get_input: vdbe_name_1\r
-        subinterface_vlan1_ip_v6_address:\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        - get_input: vdbe_untrusted_v6_ip_1\r
-        subinterface_vlan1_aap_untrusted_ip_prefix:\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        - get_input: vdbe_aap_untrusted_ip_prefix\r
-        port_vdbe_untr_2_port_virtual_network_refs:\r
-        - - fabric_int_net\r
-        - - fabric_int_net\r
-        subinterface_vlan1_subinterfaces_name_prefix:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        port_vdbe_untr_2_port_name:\r
-        - Port_2\r
-        - Port_4\r
-        port_vdbe_untr_1_port_virtual_network_refs:\r
-        - - control_int_net\r
-        - - control_int_net\r
-        subinterface_vlan1_vn_network_list:\r
-        - get_input: untrusted_vn_networks\r
-        - get_input: untrusted_vn_networks\r
-        subinterface_vlan1_parent_interface:\r
-        - vdbe_untr_1_port_1\r
-        - vdbe_untr_1_port_2\r
-        subinterface_vlan1_aap_address_mode:\r
-        - get_input: aap_address_mode\r
-        - get_input: aap_address_mode\r
-        subinterface_vlan1_optional_property_1:\r
-        - OPTIONAL_VALUE_SUBPORT_1\r
-        - null\r
-        port_vdbe_untr_1_port_name:\r
-        - str_replace:\r
-            template: VM_NAMEDBE001p1n004\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        - str_replace:\r
-            template: Port 3\r
-            params:\r
-              DBE:\r
-                get_input: vdbe_device_name\r
-              VM_NAME:\r
-                get_input: vdbe_name_1\r
-        subinterface_vlan1_optional_property_2:\r
-        - null\r
-        - OPTIONAL_VALUE_SUBPORT_2\r
-        subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len\r
-        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        - - get_input: vdbe_hw_untr_mac_1\r
-        subinterface_vlan1_vlan_tag_list:\r
-        - get_input: untrusted_vlan_tags\r
-        - get_input: untrusted_vlan_tags\r
-        service_template_filter:\r
-          substitute_service_template: Nested_vdbeServiceTemplate.yaml\r
-          count: 2\r
-        index_value:\r
-          get_property:\r
-          - SELF\r
-          - service_template_filter\r
-          - index_value\r
-      requirements:\r
-      - link_vdbe_vdbe_untr_1_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: control_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-      - link_vdbe_vdbe_untr_2_port:\r
-          capability: tosca.capabilities.network.Linkable\r
-          node: fabric_int_net\r
-          relationship: tosca.relationships.network.LinksTo\r
-  groups:\r
-    main_group:\r
-      type: org.openecomp.groups.heat.HeatStack\r
-      properties:\r
-        heat_file: ../Artifacts/main.yml\r
-        description: |\r
-          Version 2.0 02-09-2016 (Authors: John Doe, user PROD)\r
-      members:\r
-      - fabric_int_net\r
-      - control_int_net\r
-      - abstract_vdbe\r
\ No newline at end of file
+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:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF module inst
+    fabric_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the fabric virtual network
+    control_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the control virtual network
+    control_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the control virtual network
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vdbe_untrusted_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_ip_1
+      type: string
+      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
+    aap_address_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: aap_address_mode
+      type: string
+      description: Address mode for the vDBE cluster IP
+    control_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_shared
+      type: boolean
+      description: control virtual network shared
+    vdbe_untrusted_v6_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_v6_ip_1
+      type: string
+      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_untrusted_vmac_address:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_vmac_address
+      type: string
+      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
+    control_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the control virtual network
+    vdbe_aap_sec_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix
+      type: string
+      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF inst
+    vdbe_name_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_name_1
+      type: string
+      description: VM Name for this vdbe node 1
+    availability_zone_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_1
+      type: string
+      description: The availability zone of secondary node1 vDBE vm in the local HA pair.
+    untrusted_vn_networks:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vn_networks
+      type: list
+      description: List of subinterface virtual networks
+      entry_schema:
+        type: string
+    vdbe_image_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_image_name
+      type: string
+      description: Image to use for vDBE
+    oam_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: Name of NSDNet network from which the management IP addresses will be allocated
+    vdbe_aap_sec_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix
+      type: string
+      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix_len
+      type: string
+      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+    fabric_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the fabric virtual network
+    untrusted_vlan_tags:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vlan_tags
+      type: list
+      description: List of subinterface vlan tags
+      entry_schema:
+        type: string
+    vdbe_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_flavor_name
+      type: string
+      description: Flavor to use for vDBE
+    counter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: counter
+      type: float
+      description: Counter.
+    fabric_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the fabric virtual network
+    fabric_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: fabric_int_net_shared
+      description: fabric virtual network shared
+    vdbe_hw_untr_mac_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_hw_untr_mac_1
+      type: string
+      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
+    untrusted_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_net_name
+      type: string
+      description: Name of public untrusted network into which this vDBE HA cluster is deployed
+    vdbe_device_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_device_name
+      type: string
+      description: VDBE device Name for this vdbe VNF
+    vdbe_aap_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix
+      type: string
+      description: ip prefix for primary vDBE VM on the VAN untrusted network
+  node_templates:
+    fabric_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: template-fabric-int
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    control_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: VNF_NAME_control_net
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    abstract_vdbe:
+      type: org.openecomp.resource.abstract.nodes.vdbe
+      directives:
+      - substitutable
+      properties:
+        subinterface_vlan1_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        subinterface_vlan1_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        subinterface_vlan1_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        - get_input: vdbe_untrusted_vmac_address
+        compute_vdbe_availability_zone:
+        - get_input: availability_zone_1
+        - get_input: availability_zone_1
+        port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        - - get_input: vdbe_hw_untr_mac_1
+        vm_flavor_name:
+          get_input: vdbe_flavor_name
+        subinterface_vlan1_counter:
+        - get_input: counter
+        - get_input: counter
+        vm_image_name:
+          get_input: vdbe_image_name
+        compute_vdbe_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        subinterface_vlan1_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        - get_input: vdbe_hw_untr_mac_1
+        subinterface_vlan1_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_vlan1_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        - get_input: vdbe_untrusted_ip_1
+        compute_vdbe_name:
+        - get_input: vdbe_name_1
+        - get_input: vdbe_name_1
+        subinterface_vlan1_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_vlan1_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        port_vdbe_untr_2_port_virtual_network_refs:
+        - - fabric_int_net
+        - - fabric_int_net
+        subinterface_vlan1_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        port_vdbe_untr_2_port_name:
+        - Port_2
+        - Port_4
+        port_vdbe_untr_1_port_virtual_network_refs:
+        - - control_int_net
+        - - control_int_net
+        subinterface_vlan1_vn_network_list:
+        - get_input: untrusted_vn_networks
+        - get_input: untrusted_vn_networks
+        subinterface_vlan1_service_template_filter_count:
+        - get_input: untrusted_num_vn
+        - get_input: untrusted_num_vn
+        subinterface_vlan1_parent_interface:
+        - vdbe_untr_1_port_1
+        - vdbe_untr_1_port_2
+        subinterface_vlan1_aap_address_mode:
+        - get_input: aap_address_mode
+        - get_input: aap_address_mode
+        subinterface_vlan1_optional_property_1:
+        - OPTIONAL_VALUE_SUBPORT_1
+        - null
+        port_vdbe_untr_1_port_name:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        - str_replace:
+            template: Port 3
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_vlan1_optional_property_2:
+        - null
+        - OPTIONAL_VALUE_SUBPORT_2
+        subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        - - get_input: vdbe_hw_untr_mac_1
+        subinterface_vlan1_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        - get_input: untrusted_vlan_tags
+        service_template_filter:
+          substitute_service_template: Nested_vdbeServiceTemplate.yaml
+          count: 2
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_vdbe_vdbe_untr_1_port:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          relationship: tosca.relationships.network.LinksTo
+      - link_vdbe_vdbe_untr_2_port:
+          capability: tosca.capabilities.network.Linkable
+          node: fabric_int_net
+          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:
+      - fabric_int_net
+      - control_int_net
+      - abstract_vdbe
\ No newline at end of file
index 0d08d1e..407cd60 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Nested_vdbe\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-node_types:\r
-  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:\r
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server\r
-topology_template:\r
-  inputs:\r
-    subinterface_vlan1_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_availability_zone:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    port_vdbe_untr_2_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    vm_flavor_name:\r
-      type: string\r
-      required: true\r
-    untrusted_num_vn:\r
-      hidden: false\r
-      immutable: false\r
-      type: float\r
-      description: Number of vDBE subinterface virtual Networks\r
-      constraints:\r
-      - in_range:\r
-        - 1\r
-        - 77\r
-    subinterface_vlan1_counter:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: float\r
-    vm_image_name:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_2_port_network_role:\r
-      type: string\r
-      required: true\r
-    compute_vdbe_metadata:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-    port_vdbe_untr_2_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_2_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    port_vdbe_untr_2_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-    port_vdbe_untr_1_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    port_vdbe_untr_1_port_order:\r
-      type: integer\r
-      required: true\r
-    port_vdbe_untr_1_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_2_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    subinterface_vlan1_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    subinterface_vlan1_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_2_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan1_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_network_role:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_2_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan1_vn_network_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_2_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_2_port_order:\r
-      type: integer\r
-      required: true\r
-    subinterface_vlan1_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    index_value:\r
-      type: integer\r
-      description: Index value of this substitution service template runtime instance\r
-      required: false\r
-      default: 0\r
-      constraints:\r
-      - greater_or_equal: 0\r
-    port_vdbe_untr_1_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    subinterface_vlan1_optional_property_1:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_1_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_optional_property_2:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    port_vdbe_untr_1_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_vlan1_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-  node_templates:\r
-    vdbe:\r
-      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe\r
-      properties:\r
-        availability_zone:\r
-          get_input:\r
-          - compute_vdbe_availability_zone\r
-          - index_value\r
-        flavor:\r
-          get_input: vm_flavor_name\r
-        metadata:\r
-          get_input:\r
-          - compute_vdbe_metadata\r
-          - index_value\r
-        image:\r
-          get_input: vm_image_name\r
-        name:\r
-          get_input:\r
-          - compute_vdbe_name\r
-          - index_value\r
-    vdbe_vdbe_untr_2_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_2_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_2_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_2_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_2_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_2_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_2_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_2_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_2_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_2_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_2_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe_vdbe_untr_1_port_vlan1:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.vlan1\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_vlan1_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_input:\r
-          - subinterface_vlan1_counter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_vlan1_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_vlan1_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: vlan1ServiceTemplate.yaml\r
-          count:\r
-            get_input: untrusted_num_vn\r
-          mandatory: false\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_vlan1_parent_interface\r
-          - index_value\r
-        vn_network_list:\r
-          get_input:\r
-          - subinterface_vlan1_vn_network_list\r
-          - index_value\r
-        optional_property_1:\r
-          get_input:\r
-          - subinterface_vlan1_optional_property_1\r
-          - index_value\r
-        optional_property_2:\r
-          get_input:\r
-          - subinterface_vlan1_optional_property_2\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_vlan1_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_vlan1_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan1_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_vlan1_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_vlan1_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_vlan1-Network-Role_vmi_subport:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_1_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe_vdbe_untr_1_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_1_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_1_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_1_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_1_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_1_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_1_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_1_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_1_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_1_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-  substitution_mappings:\r
-    node_type: org.openecomp.resource.abstract.nodes.vdbe\r
-    capabilities:\r
-      feature_vdbe:\r
-      - vdbe\r
-      - feature\r
-      disk.device.iops_vdbe:\r
-      - vdbe\r
-      - disk.device.iops\r
-      endpoint_vdbe:\r
-      - vdbe\r
-      - endpoint\r
-      disk.ephemeral.size_vdbe:\r
-      - vdbe\r
-      - disk.ephemeral.size\r
-      feature_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - feature\r
-      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport\r
-      cpu_util_vdbe:\r
-      - vdbe\r
-      - cpu_util\r
-      vcpus_vdbe:\r
-      - vdbe\r
-      - vcpus\r
-      disk.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.write.requests\r
-      feature_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - feature\r
-      disk.device.latency_vdbe:\r
-      - vdbe\r
-      - disk.device.latency\r
-      disk.device.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests.rate\r
-      network.incoming.packets_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.incoming.packets\r
-      feature_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - feature\r
-      disk.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes.rate\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes.rate\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets.rate\r
-      scalable_vdbe:\r
-      - vdbe\r
-      - scalable\r
-      disk.iops_vdbe:\r
-      - vdbe\r
-      - disk.iops\r
-      disk.device.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests\r
-      disk.device.capacity_vdbe:\r
-      - vdbe\r
-      - disk.device.capacity\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.outgoing.bytes.rate\r
-      network.outgoing.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes\r
-      disk.device.allocation_vdbe:\r
-      - vdbe\r
-      - disk.device.allocation\r
-      disk.usage_vdbe:\r
-      - vdbe\r
-      - disk.usage\r
-      memory.usage_vdbe:\r
-      - vdbe\r
-      - memory.usage\r
-      network.outpoing.packets_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.outpoing.packets\r
-      disk.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.read.requests\r
-      network.incoming.bytes_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.bytes\r
-      instance_vdbe:\r
-      - vdbe\r
-      - instance\r
-      cpu.delta_vdbe:\r
-      - vdbe\r
-      - cpu.delta\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.outgoing.packets.rate\r
-      binding_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - binding\r
-      disk.device.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes.rate\r
-      disk.device.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes.rate\r
-      memory.resident_vdbe:\r
-      - vdbe\r
-      - memory.resident\r
-      forwarder_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - forwarder\r
-      disk.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.requests.rate\r
-      cpu_vdbe:\r
-      - vdbe\r
-      - cpu\r
-      disk.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes\r
-      forwarder_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - forwarder\r
-      disk.device.usage_vdbe:\r
-      - vdbe\r
-      - disk.device.usage\r
-      disk.device.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes\r
-      disk.latency_vdbe:\r
-      - vdbe\r
-      - disk.latency\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.packets.rate\r
-      disk.capacity_vdbe:\r
-      - vdbe\r
-      - disk.capacity\r
-      host_vdbe:\r
-      - vdbe\r
-      - host\r
-      disk.allocation_vdbe:\r
-      - vdbe\r
-      - disk.allocation\r
-      network.outpoing.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outpoing.packets\r
-      network.incoming.packets_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.incoming.packets\r
-      disk.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes.rate\r
-      network.incoming.bytes_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.incoming.bytes\r
-      os_vdbe:\r
-      - vdbe\r
-      - os\r
-      disk.device.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.incoming.packets.rate\r
-      disk.root.size_vdbe:\r
-      - vdbe\r
-      - disk.root.size\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.incoming.bytes.rate\r
-      binding_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - binding\r
-      memory_vdbe:\r
-      - vdbe\r
-      - memory\r
-      binding_vdbe:\r
-      - vdbe\r
-      - binding\r
-      disk.device.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes\r
-      network.outgoing.bytes_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - network.outgoing.bytes\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - network.outgoing.bytes.rate\r
-      disk.device.read.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests.rate\r
-      disk.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes\r
-    requirements:\r
-      dependency_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - dependency\r
-      link_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - link\r
-      local_storage_vdbe:\r
-      - vdbe\r
-      - local_storage\r
-      dependency_vdbe_vdbe_untr_2_port:\r
-      - vdbe_vdbe_untr_2_port\r
-      - dependency\r
-      dependency_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - dependency\r
-      dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport\r
-      link_vdbe_vdbe_untr_1_port:\r
-      - vdbe_vdbe_untr_1_port\r
-      - link\r
-      link_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:\r
-      - vdbe_vdbe_untr_1_port_vlan1\r
-      - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport\r
-      dependency_vdbe:\r
-      - vdbe\r
-      - dependency\r
\ No newline at end of file
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_vdbe
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    subinterface_vlan1_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_vdbe_untr_2_port_network_role_tag:
+      type: string
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_vlan1_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    vm_image_name:
+      type: string
+      required: true
+    port_vdbe_untr_2_port_network_role:
+      type: string
+      required: true
+    compute_vdbe_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_vdbe_untr_2_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_2_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_vdbe_untr_2_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_vdbe_untr_1_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_vdbe_untr_1_port_order:
+      type: integer
+      required: true
+    port_vdbe_untr_1_port_subnetpoolid:
+      type: string
+      required: true
+    port_vdbe_untr_2_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    subinterface_vlan1_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role_tag:
+      type: string
+      required: true
+    subinterface_vlan1_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_2_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan1_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role:
+      type: string
+      required: true
+    port_vdbe_untr_2_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan1_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_2_port_subnetpoolid:
+      type: string
+      required: true
+    port_vdbe_untr_2_port_order:
+      type: integer
+      required: true
+    subinterface_vlan1_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vlan1_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_address_mode:
+      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
+    port_vdbe_untr_1_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    subinterface_vlan1_optional_property_1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_optional_property_2:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    port_vdbe_untr_1_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_vlan1_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+  node_templates:
+    vdbe:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
+      properties:
+        availability_zone:
+          get_input:
+          - compute_vdbe_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_vdbe_metadata
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_vdbe_name
+          - index_value
+    vdbe_vdbe_untr_2_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_2_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_2_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_2_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_2_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_2_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_2_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_2_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_2_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_2_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_2_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_2_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_2_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+    vdbe_vdbe_untr_1_port_vlan1:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.vlan1
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_vlan1_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_vlan1_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_vlan1_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_vlan1_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_vlan1_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_vlan1_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_vlan1_service_template_filter_count
+            - index_value
+          substitute_service_template: vlan1ServiceTemplate.yaml
+          mandatory: false
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_vlan1_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_vlan1_vn_network_list
+          - index_value
+        optional_property_1:
+          get_input:
+          - subinterface_vlan1_optional_property_1
+          - index_value
+        optional_property_2:
+          get_input:
+          - subinterface_vlan1_optional_property_2
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_vlan1_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_vlan1_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vlan1_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_vlan1_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_vlan1_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_vlan1-Network-Role_vmi_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_1_port
+          relationship: tosca.relationships.network.BindsTo
+    vdbe_vdbe_untr_1_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_1_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_1_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_1_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_1_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_1_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_1_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_1_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_1_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_1_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.vdbe
+    capabilities:
+      feature_vdbe:
+      - vdbe
+      - feature
+      disk.device.iops_vdbe:
+      - vdbe
+      - disk.device.iops
+      endpoint_vdbe:
+      - vdbe
+      - endpoint
+      disk.ephemeral.size_vdbe:
+      - vdbe
+      - disk.ephemeral.size
+      feature_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - feature
+      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport
+      cpu_util_vdbe:
+      - vdbe
+      - cpu_util
+      vcpus_vdbe:
+      - vdbe
+      - vcpus
+      disk.write.requests_vdbe:
+      - vdbe
+      - disk.write.requests
+      feature_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - feature
+      disk.device.latency_vdbe:
+      - vdbe
+      - disk.device.latency
+      disk.device.write.requests.rate_vdbe:
+      - vdbe
+      - disk.device.write.requests.rate
+      network.incoming.packets_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.incoming.packets
+      feature_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - feature
+      disk.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.write.bytes.rate
+      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes.rate
+      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets.rate
+      scalable_vdbe:
+      - vdbe
+      - scalable
+      disk.iops_vdbe:
+      - vdbe
+      - disk.iops
+      disk.device.write.requests_vdbe:
+      - vdbe
+      - disk.device.write.requests
+      disk.device.capacity_vdbe:
+      - vdbe
+      - disk.device.capacity
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.outgoing.bytes.rate
+      network.outgoing.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes
+      disk.device.allocation_vdbe:
+      - vdbe
+      - disk.device.allocation
+      disk.usage_vdbe:
+      - vdbe
+      - disk.usage
+      memory.usage_vdbe:
+      - vdbe
+      - memory.usage
+      network.outpoing.packets_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.outpoing.packets
+      disk.read.requests_vdbe:
+      - vdbe
+      - disk.read.requests
+      network.incoming.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes
+      instance_vdbe:
+      - vdbe
+      - instance
+      cpu.delta_vdbe:
+      - vdbe
+      - cpu.delta
+      network.outgoing.packets.rate_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.outgoing.packets.rate
+      binding_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - binding
+      disk.device.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.read.bytes.rate
+      disk.device.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.write.bytes.rate
+      memory.resident_vdbe:
+      - vdbe
+      - memory.resident
+      forwarder_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - forwarder
+      disk.write.requests.rate_vdbe:
+      - vdbe
+      - disk.write.requests.rate
+      cpu_vdbe:
+      - vdbe
+      - cpu
+      disk.write.bytes_vdbe:
+      - vdbe
+      - disk.write.bytes
+      forwarder_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - forwarder
+      disk.device.usage_vdbe:
+      - vdbe
+      - disk.device.usage
+      disk.device.read.bytes_vdbe:
+      - vdbe
+      - disk.device.read.bytes
+      disk.latency_vdbe:
+      - vdbe
+      - disk.latency
+      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.packets.rate
+      disk.capacity_vdbe:
+      - vdbe
+      - disk.capacity
+      host_vdbe:
+      - vdbe
+      - host
+      disk.allocation_vdbe:
+      - vdbe
+      - disk.allocation
+      network.outpoing.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outpoing.packets
+      network.incoming.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets
+      disk.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.read.bytes.rate
+      network.incoming.bytes_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.incoming.bytes
+      os_vdbe:
+      - vdbe
+      - os
+      disk.device.read.requests_vdbe:
+      - vdbe
+      - disk.device.read.requests
+      network.incoming.packets.rate_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.incoming.packets.rate
+      disk.root.size_vdbe:
+      - vdbe
+      - disk.root.size
+      network.incoming.bytes.rate_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.incoming.bytes.rate
+      binding_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - binding
+      memory_vdbe:
+      - vdbe
+      - memory
+      binding_vdbe:
+      - vdbe
+      - binding
+      disk.device.write.bytes_vdbe:
+      - vdbe
+      - disk.device.write.bytes
+      network.outgoing.bytes_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - network.outgoing.bytes
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes.rate
+      disk.device.read.requests.rate_vdbe:
+      - vdbe
+      - disk.device.read.requests.rate
+      disk.read.bytes_vdbe:
+      - vdbe
+      - disk.read.bytes
+    requirements:
+      dependency_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - dependency
+      link_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - link
+      local_storage_vdbe:
+      - vdbe
+      - local_storage
+      dependency_vdbe_vdbe_untr_2_port:
+      - vdbe_vdbe_untr_2_port
+      - dependency
+      dependency_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - dependency
+      dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport
+      link_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - link
+      link_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1:
+      - vdbe_vdbe_untr_1_port_vlan1
+      - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport
+      dependency_vdbe:
+      - vdbe
+      - dependency
\ No newline at end of file
index 46ad884..6d9770b 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: GlobalSubstitutionTypes\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-node_types:\r
-  org.openecomp.resource.abstract.nodes.vdbe:\r
-    derived_from: org.openecomp.resource.abstract.nodes.VFC\r
-    properties:\r
-      port_vdbe_untr_port_network_role_tag:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_parent_interface:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_address_mode:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_vlan_tag_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      port_vdbe_untr_port_subnetpoolid:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      compute_vdbe_availability_zone:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_flavor_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_port_order:\r
-        type: integer\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_aap_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      vm_image_name:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_port_exCP_naming:\r
-        type: org.openecomp.datatypes.Naming\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_metadata:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_nested_mac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs:\r
-        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterface_nested_ip_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_virtual_network_refs:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_nested_ip_v6_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_mac_requirements:\r
-        type: org.openecomp.datatypes.network.MacRequirements\r
-        required: true\r
-        status: SUPPORTED\r
-      index_value:\r
-        type: integer\r
-        description: Index value of this substitution service template runtime instance\r
-        required: false\r
-        default: 0\r
-        status: SUPPORTED\r
-        constraints:\r
-        - greater_or_equal: 0\r
-      subinterface_nested_vmac_address:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_vn_network_list:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_vlan_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.VlanRequirements\r
-      port_vdbe_untr_port_network_role:\r
-        type: string\r
-        required: true\r
-        status: SUPPORTED\r
-      port_vdbe_untr_port_virtual_machine_interface_mac_addresses:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: json\r
-      subinterface_nested_aap_untrusted_ip_prefix_len:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_counter:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: float\r
-      subinterface_nested_subinterfaces_name_prefix:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      compute_vdbe_name:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_optional_property_1:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      subinterface_nested_optional_property_2:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      port_vdbe_untr_port_ip_requirements:\r
-        type: list\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: org.openecomp.datatypes.network.IpRequirements\r
-    requirements:\r
-    - dependency_vdbe:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - local_storage_vdbe:\r
-        capability: tosca.capabilities.Attachment\r
-        node: tosca.nodes.BlockStorage\r
-        relationship: tosca.relationships.AttachesTo\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_vdbe_untr_port:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_vdbe_untr_port:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - dependency_vdbe_vdbe_untr_port_nested:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_port:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      endpoint_vdbe:\r
-        type: tosca.capabilities.Endpoint.Admin\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.ephemeral.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_util_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      vcpus_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      scalable_vdbe:\r
-        type: tosca.capabilities.Scalable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.iops_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outpoing.packets_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      forwarder_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.Forwarder\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe_vdbe_untr_port:\r
-        type: tosca.capabilities.network.Bindable\r
-        valid_source_types:\r
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-      instance_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu.delta_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory.resident_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      feature_vdbe_vdbe_untr_port_nested:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      cpu_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.usage_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.latency_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.bytes_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.capacity_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      host_vdbe:\r
-        type: tosca.capabilities.Container\r
-        valid_source_types:\r
-        - tosca.nodes.SoftwareComponent\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.allocation_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      os_vdbe:\r
-        type: tosca.capabilities.OperatingSystem\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.root.size_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      memory_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      binding_vdbe:\r
-        type: tosca.capabilities.network.Bindable\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.write.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.device.read.requests.rate_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      disk.read.bytes_vdbe:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_port:\r
-        type: org.openecomp.capabilities.metric.Ceilometer\r
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
-  org.openecomp.resource.abstract.nodes.heat.subinterface.nested:\r
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute\r
-    properties:\r
-      aap_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_sec_untrusted_ip_prefix:\r
-        type: string\r
-        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_v6_address:\r
-        type: string\r
-        description: IPv6 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      counter:\r
-        type: float\r
-        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.\r
-        required: true\r
-        status: SUPPORTED\r
-      subinterfaces_name_prefix:\r
-        type: string\r
-        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource\r
-        required: true\r
-        status: SUPPORTED\r
-      ip_address:\r
-        type: string\r
-        description: IPv4 address associated with subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_address_mode:\r
-        type: string\r
-        description: Address mode for the vDBE cluster IP\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix:\r
-        type: string\r
-        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      parent_interface:\r
-        type: string\r
-        description: Parent Contrail interface\r
-        required: true\r
-        status: SUPPORTED\r
-      vn_network_list:\r
-        type: string\r
-        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list\r
-        required: true\r
-        status: SUPPORTED\r
-      optional_property_1:\r
-        type: string\r
-        description: Optional property\r
-        required: true\r
-        status: SUPPORTED\r
-      optional_property_2:\r
-        type: string\r
-        description: Optional property\r
-        required: true\r
-        status: SUPPORTED\r
-      mac_address:\r
-        type: string\r
-        description: HW MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      vlan_tag_list:\r
-        type: list\r
-        description: List of VLAN IDs to use for subinterfaces\r
-        required: true\r
-        status: SUPPORTED\r
-        entry_schema:\r
-          type: string\r
-      aap_sec_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      vmac_address:\r
-        type: string\r
-        description: virtual MAC address to use for subinterface\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_v6_ip_prefix_len:\r
-        type: string\r
-        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-      aap_untrusted_ip_prefix_len:\r
-        type: string\r
-        description: ip prefix length for the primary vDBE VM on the VAN untrusted network\r
-        required: true\r
-        status: SUPPORTED\r
-    requirements:\r
-    - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport:\r
-        capability: tosca.capabilities.Node\r
-        node: tosca.nodes.Root\r
-        relationship: tosca.relationships.DependsOn\r
-        occurrences:\r
-        - 0\r
-        - UNBOUNDED\r
-    - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport:\r
-        capability: tosca.capabilities.network.Linkable\r
-        relationship: tosca.relationships.network.LinksTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    - binding_vdbe_untr_x_vlan1-Network-Role_vmi_subport:\r
-        capability: tosca.capabilities.network.Bindable\r
-        node: org.openecomp.resource.cp.nodes.network.Port\r
-        relationship: tosca.relationships.network.BindsTo\r
-        occurrences:\r
-        - 1\r
-        - 1\r
-    capabilities:\r
-      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport:\r
-        type: tosca.capabilities.Node\r
-        occurrences:\r
-        - 1\r
-        - UNBOUNDED\r
\ No newline at end of file
+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.vdbe:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_vdbe_untr_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_vdbe_untr_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_vdbe_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_nested_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      subinterface_nested_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_nested_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_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
+      subinterface_nested_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_nested_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_optional_property_1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_optional_property_2:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+    requirements:
+    - dependency_vdbe:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_vdbe:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_vdbe_untr_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe_vdbe_untr_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      network.outgoing.packets.rate_vdbe_vdbe_untr_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_vdbe_vdbe_untr_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_vdbe:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_vdbe_untr_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_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_vdbe:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_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_vdbe_vdbe_untr_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_vdbe:
+        type: org.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_vdbe_vdbe_untr_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_vdbe_vdbe_untr_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      instance_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_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
+  org.openecomp.resource.abstract.nodes.heat.subinterface.nested:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      vn_network_list:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      optional_property_1:
+        type: string
+        description: Optional property
+        required: true
+        status: SUPPORTED
+      optional_property_2:
+        type: string
+        description: Optional property
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_vlan1-Network-Role_vmi_subport:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
\ No newline at end of file
index 28d52cf..fccec4c 100644 (file)
-tosca_definitions_version: tosca_simple_yaml_1_0_0\r
-metadata:\r
-  template_name: Nested_vdbe\r
-imports:\r
-- openecomp_heat_index:\r
-    file: openecomp-heat/_index.yml\r
-- GlobalSubstitutionTypes:\r
-    file: GlobalSubstitutionTypesServiceTemplate.yaml\r
-node_types:\r
-  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:\r
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server\r
-topology_template:\r
-  inputs:\r
-    port_vdbe_untr_port_network_role_tag:\r
-      type: string\r
-      required: true\r
-    subinterface_nested_parent_interface:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_address_mode:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_vlan_tag_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    port_vdbe_untr_port_subnetpoolid:\r
-      type: string\r
-      required: true\r
-    compute_vdbe_availability_zone:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_untrusted_v6_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_flavor_name:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_port_order:\r
-      type: integer\r
-      required: true\r
-    subinterface_nested_aap_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    vm_image_name:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_port_exCP_naming:\r
-      type: org.openecomp.datatypes.Naming\r
-      required: true\r
-    subinterface_nested_aap_sec_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_sec_untrusted_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_aap_untrusted_v6_ip_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_metadata:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_nested_mac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs:\r
-      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs\r
-      required: true\r
-    subinterface_nested_ip_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_virtual_network_refs:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_nested_ip_v6_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_mac_requirements:\r
-      type: org.openecomp.datatypes.network.MacRequirements\r
-      required: true\r
-    index_value:\r
-      type: integer\r
-      description: Index value of this substitution service template runtime instance\r
-      required: false\r
-      default: 0\r
-      constraints:\r
-      - greater_or_equal: 0\r
-    subinterface_nested_vmac_address:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_vn_network_list:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_vlan_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.VlanRequirements\r
-    port_vdbe_untr_port_network_role:\r
-      type: string\r
-      required: true\r
-    port_vdbe_untr_port_virtual_machine_interface_mac_addresses:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: json\r
-    subinterface_nested_aap_untrusted_ip_prefix_len:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_counter:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: float\r
-    subinterface_nested_subinterfaces_name_prefix:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    compute_vdbe_name:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_optional_property_1:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    subinterface_nested_optional_property_2:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: string\r
-    port_vdbe_untr_port_ip_requirements:\r
-      type: list\r
-      required: true\r
-      entry_schema:\r
-        type: org.openecomp.datatypes.network.IpRequirements\r
-  node_templates:\r
-    vdbe:\r
-      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe\r
-      properties:\r
-        availability_zone:\r
-          get_input:\r
-          - compute_vdbe_availability_zone\r
-          - index_value\r
-        flavor:\r
-          get_input: vm_flavor_name\r
-        metadata:\r
-          get_input:\r
-          - compute_vdbe_metadata\r
-          - index_value\r
-        image:\r
-          get_input: vm_image_name\r
-        name:\r
-          get_input:\r
-          - compute_vdbe_name\r
-          - index_value\r
-    vdbe_vdbe_untr_port:\r
-      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface\r
-      properties:\r
-        mac_requirements:\r
-          get_input: port_vdbe_untr_port_mac_requirements\r
-        order:\r
-          get_input: port_vdbe_untr_port_order\r
-        exCP_naming:\r
-          get_input: port_vdbe_untr_port_exCP_naming\r
-        virtual_machine_interface_allowed_address_pairs:\r
-          get_input:\r
-          - port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs\r
-          - index_value\r
-        vlan_requirements:\r
-          get_input: port_vdbe_untr_port_vlan_requirements\r
-        virtual_network_refs:\r
-          get_input:\r
-          - port_vdbe_untr_port_virtual_network_refs\r
-          - index_value\r
-        ip_requirements:\r
-          get_input: port_vdbe_untr_port_ip_requirements\r
-        network_role_tag:\r
-          get_input: port_vdbe_untr_port_network_role_tag\r
-        virtual_machine_interface_mac_addresses:\r
-          get_input:\r
-          - port_vdbe_untr_port_virtual_machine_interface_mac_addresses\r
-          - index_value\r
-        network_role:\r
-          get_input: port_vdbe_untr_port_network_role\r
-        subnetpoolid:\r
-          get_input: port_vdbe_untr_port_subnetpoolid\r
-        name:\r
-          get_input:\r
-          - port_vdbe_untr_port_name\r
-          - index_value\r
-      requirements:\r
-      - binding:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe\r
-          relationship: tosca.relationships.network.BindsTo\r
-    vdbe_vdbe_untr_port_nested:\r
-      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested\r
-      directives:\r
-      - substitutable\r
-      properties:\r
-        aap_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_ip_prefix\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_sec_untrusted_ip_prefix\r
-          - index_value\r
-        ip_v6_address:\r
-          get_input:\r
-          - subinterface_nested_ip_v6_address\r
-          - index_value\r
-        counter:\r
-          get_input:\r
-          - subinterface_nested_counter\r
-          - index_value\r
-        ip_address:\r
-          get_input:\r
-          - subinterface_nested_ip_address\r
-          - index_value\r
-        subinterfaces_name_prefix:\r
-          get_input:\r
-          - subinterface_nested_subinterfaces_name_prefix\r
-          - index_value\r
-        aap_address_mode:\r
-          get_input:\r
-          - subinterface_nested_aap_address_mode\r
-          - index_value\r
-        service_template_filter:\r
-          substitute_service_template: nestedServiceTemplate.yaml\r
-        aap_untrusted_v6_ip_prefix:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_v6_ip_prefix\r
-          - index_value\r
-        parent_interface:\r
-          get_input:\r
-          - subinterface_nested_parent_interface\r
-          - index_value\r
-        vn_network_list:\r
-          get_input:\r
-          - subinterface_nested_vn_network_list\r
-          - index_value\r
-        optional_property_1:\r
-          get_input:\r
-          - subinterface_nested_optional_property_1\r
-          - index_value\r
-        optional_property_2:\r
-          get_input:\r
-          - subinterface_nested_optional_property_2\r
-          - index_value\r
-        mac_address:\r
-          get_input:\r
-          - subinterface_nested_mac_address\r
-          - index_value\r
-        vlan_tag_list:\r
-          get_input:\r
-          - subinterface_nested_vlan_tag_list\r
-          - index_value\r
-        aap_sec_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_sec_untrusted_ip_prefix_len\r
-          - index_value\r
-        vmac_address:\r
-          get_input:\r
-          - subinterface_nested_vmac_address\r
-          - index_value\r
-        aap_untrusted_v6_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_v6_ip_prefix_len\r
-          - index_value\r
-        aap_untrusted_ip_prefix_len:\r
-          get_input:\r
-          - subinterface_nested_aap_untrusted_ip_prefix_len\r
-          - index_value\r
-      requirements:\r
-      - binding_vdbe_untr_x_vlan1-Network-Role_vmi_subport:\r
-          capability: tosca.capabilities.network.Bindable\r
-          node: vdbe_vdbe_untr_port\r
-          relationship: tosca.relationships.network.BindsTo\r
-  substitution_mappings:\r
-    node_type: org.openecomp.resource.abstract.nodes.vdbe\r
-    capabilities:\r
-      network.outgoing.packets.rate_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.outgoing.packets.rate\r
-      network.outgoing.bytes_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.outgoing.bytes\r
-      feature_vdbe:\r
-      - vdbe\r
-      - feature\r
-      feature_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - feature\r
-      disk.device.iops_vdbe:\r
-      - vdbe\r
-      - disk.device.iops\r
-      endpoint_vdbe:\r
-      - vdbe\r
-      - endpoint\r
-      disk.ephemeral.size_vdbe:\r
-      - vdbe\r
-      - disk.ephemeral.size\r
-      cpu_util_vdbe:\r
-      - vdbe\r
-      - cpu_util\r
-      vcpus_vdbe:\r
-      - vdbe\r
-      - vcpus\r
-      disk.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.write.requests\r
-      disk.device.latency_vdbe:\r
-      - vdbe\r
-      - disk.device.latency\r
-      disk.device.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests.rate\r
-      disk.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes.rate\r
-      network.incoming.packets_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.incoming.packets\r
-      scalable_vdbe:\r
-      - vdbe\r
-      - scalable\r
-      disk.iops_vdbe:\r
-      - vdbe\r
-      - disk.iops\r
-      disk.device.write.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.write.requests\r
-      disk.device.capacity_vdbe:\r
-      - vdbe\r
-      - disk.device.capacity\r
-      disk.device.allocation_vdbe:\r
-      - vdbe\r
-      - disk.device.allocation\r
-      disk.usage_vdbe:\r
-      - vdbe\r
-      - disk.usage\r
-      memory.usage_vdbe:\r
-      - vdbe\r
-      - memory.usage\r
-      network.outpoing.packets_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.outpoing.packets\r
-      network.outgoing.bytes.rate_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.outgoing.bytes.rate\r
-      disk.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.read.requests\r
-      forwarder_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - forwarder\r
-      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-      - vdbe_vdbe_untr_port_nested\r
-      - feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport\r
-      binding_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - binding\r
-      instance_vdbe:\r
-      - vdbe\r
-      - instance\r
-      network.incoming.bytes.rate_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.incoming.bytes.rate\r
-      cpu.delta_vdbe:\r
-      - vdbe\r
-      - cpu.delta\r
-      disk.device.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes.rate\r
-      disk.device.write.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes.rate\r
-      memory.resident_vdbe:\r
-      - vdbe\r
-      - memory.resident\r
-      feature_vdbe_vdbe_untr_port_nested:\r
-      - vdbe_vdbe_untr_port_nested\r
-      - feature\r
-      disk.write.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.write.requests.rate\r
-      cpu_vdbe:\r
-      - vdbe\r
-      - cpu\r
-      disk.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.write.bytes\r
-      disk.device.usage_vdbe:\r
-      - vdbe\r
-      - disk.device.usage\r
-      disk.device.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.read.bytes\r
-      disk.latency_vdbe:\r
-      - vdbe\r
-      - disk.latency\r
-      network.incoming.bytes_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.incoming.bytes\r
-      disk.capacity_vdbe:\r
-      - vdbe\r
-      - disk.capacity\r
-      host_vdbe:\r
-      - vdbe\r
-      - host\r
-      disk.allocation_vdbe:\r
-      - vdbe\r
-      - disk.allocation\r
-      disk.read.bytes.rate_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes.rate\r
-      os_vdbe:\r
-      - vdbe\r
-      - os\r
-      disk.device.read.requests_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests\r
-      disk.root.size_vdbe:\r
-      - vdbe\r
-      - disk.root.size\r
-      memory_vdbe:\r
-      - vdbe\r
-      - memory\r
-      binding_vdbe:\r
-      - vdbe\r
-      - binding\r
-      disk.device.write.bytes_vdbe:\r
-      - vdbe\r
-      - disk.device.write.bytes\r
-      disk.device.read.requests.rate_vdbe:\r
-      - vdbe\r
-      - disk.device.read.requests.rate\r
-      disk.read.bytes_vdbe:\r
-      - vdbe\r
-      - disk.read.bytes\r
-      network.incoming.packets.rate_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - network.incoming.packets.rate\r
-    requirements:\r
-      dependency_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - dependency\r
-      link_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-      - vdbe_vdbe_untr_port_nested\r
-      - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport\r
-      link_vdbe_vdbe_untr_port:\r
-      - vdbe_vdbe_untr_port\r
-      - link\r
-      local_storage_vdbe:\r
-      - vdbe\r
-      - local_storage\r
-      dependency_vdbe_vdbe_untr_port_nested:\r
-      - vdbe_vdbe_untr_port_nested\r
-      - dependency\r
-      dependency_vdbe:\r
-      - vdbe\r
-      - dependency\r
-      dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:\r
-      - vdbe_vdbe_untr_port_nested\r
-      - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport\r
\ No newline at end of file
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_vdbe
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_vdbe_untr_port_network_role_tag:
+      type: string
+      required: true
+    subinterface_nested_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_vdbe_untr_port_subnetpoolid:
+      type: string
+      required: true
+    compute_vdbe_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    port_vdbe_untr_port_order:
+      type: integer
+      required: true
+    subinterface_nested_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_image_name:
+      type: string
+      required: true
+    port_vdbe_untr_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_nested_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    subinterface_nested_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_nested_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_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
+    subinterface_nested_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_port_network_role:
+      type: string
+      required: true
+    port_vdbe_untr_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_nested_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_optional_property_1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_optional_property_2:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+  node_templates:
+    vdbe:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
+      properties:
+        availability_zone:
+          get_input:
+          - compute_vdbe_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_vdbe_metadata
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_vdbe_name
+          - index_value
+    vdbe_vdbe_untr_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+    vdbe_vdbe_untr_port_nested:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_nested_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_nested_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_nested_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_nested_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_nested_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_nested_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_nested_vn_network_list
+          - index_value
+        optional_property_1:
+          get_input:
+          - subinterface_nested_optional_property_1
+          - index_value
+        optional_property_2:
+          get_input:
+          - subinterface_nested_optional_property_2
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_nested_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_nested_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_nested_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_vlan1-Network-Role_vmi_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_port
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.vdbe
+    capabilities:
+      network.outgoing.packets.rate_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.outgoing.packets.rate
+      network.outgoing.bytes_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.outgoing.bytes
+      feature_vdbe:
+      - vdbe
+      - feature
+      feature_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - feature
+      disk.device.iops_vdbe:
+      - vdbe
+      - disk.device.iops
+      endpoint_vdbe:
+      - vdbe
+      - endpoint
+      disk.ephemeral.size_vdbe:
+      - vdbe
+      - disk.ephemeral.size
+      cpu_util_vdbe:
+      - vdbe
+      - cpu_util
+      vcpus_vdbe:
+      - vdbe
+      - vcpus
+      disk.write.requests_vdbe:
+      - vdbe
+      - disk.write.requests
+      disk.device.latency_vdbe:
+      - vdbe
+      - disk.device.latency
+      disk.device.write.requests.rate_vdbe:
+      - vdbe
+      - disk.device.write.requests.rate
+      disk.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.write.bytes.rate
+      network.incoming.packets_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.incoming.packets
+      scalable_vdbe:
+      - vdbe
+      - scalable
+      disk.iops_vdbe:
+      - vdbe
+      - disk.iops
+      disk.device.write.requests_vdbe:
+      - vdbe
+      - disk.device.write.requests
+      disk.device.capacity_vdbe:
+      - vdbe
+      - disk.device.capacity
+      disk.device.allocation_vdbe:
+      - vdbe
+      - disk.device.allocation
+      disk.usage_vdbe:
+      - vdbe
+      - disk.usage
+      memory.usage_vdbe:
+      - vdbe
+      - memory.usage
+      network.outpoing.packets_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.outpoing.packets
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.outgoing.bytes.rate
+      disk.read.requests_vdbe:
+      - vdbe
+      - disk.read.requests
+      forwarder_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - forwarder
+      feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:
+      - vdbe_vdbe_untr_port_nested
+      - feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport
+      binding_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - binding
+      instance_vdbe:
+      - vdbe
+      - instance
+      network.incoming.bytes.rate_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.incoming.bytes.rate
+      cpu.delta_vdbe:
+      - vdbe
+      - cpu.delta
+      disk.device.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.read.bytes.rate
+      disk.device.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.write.bytes.rate
+      memory.resident_vdbe:
+      - vdbe
+      - memory.resident
+      feature_vdbe_vdbe_untr_port_nested:
+      - vdbe_vdbe_untr_port_nested
+      - feature
+      disk.write.requests.rate_vdbe:
+      - vdbe
+      - disk.write.requests.rate
+      cpu_vdbe:
+      - vdbe
+      - cpu
+      disk.write.bytes_vdbe:
+      - vdbe
+      - disk.write.bytes
+      disk.device.usage_vdbe:
+      - vdbe
+      - disk.device.usage
+      disk.device.read.bytes_vdbe:
+      - vdbe
+      - disk.device.read.bytes
+      disk.latency_vdbe:
+      - vdbe
+      - disk.latency
+      network.incoming.bytes_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.incoming.bytes
+      disk.capacity_vdbe:
+      - vdbe
+      - disk.capacity
+      host_vdbe:
+      - vdbe
+      - host
+      disk.allocation_vdbe:
+      - vdbe
+      - disk.allocation
+      disk.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.read.bytes.rate
+      os_vdbe:
+      - vdbe
+      - os
+      disk.device.read.requests_vdbe:
+      - vdbe
+      - disk.device.read.requests
+      disk.root.size_vdbe:
+      - vdbe
+      - disk.root.size
+      memory_vdbe:
+      - vdbe
+      - memory
+      binding_vdbe:
+      - vdbe
+      - binding
+      disk.device.write.bytes_vdbe:
+      - vdbe
+      - disk.device.write.bytes
+      disk.device.read.requests.rate_vdbe:
+      - vdbe
+      - disk.device.read.requests.rate
+      disk.read.bytes_vdbe:
+      - vdbe
+      - disk.read.bytes
+      network.incoming.packets.rate_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - network.incoming.packets.rate
+    requirements:
+      dependency_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - dependency
+      link_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:
+      - vdbe_vdbe_untr_port_nested
+      - link_vdbe_untr_x_vlan1-Network-Role_vmi_subport
+      link_vdbe_vdbe_untr_port:
+      - vdbe_vdbe_untr_port
+      - link
+      local_storage_vdbe:
+      - vdbe
+      - local_storage
+      dependency_vdbe_vdbe_untr_port_nested:
+      - vdbe_vdbe_untr_port_nested
+      - dependency
+      dependency_vdbe:
+      - vdbe
+      - dependency
+      dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_port_nested:
+      - vdbe_vdbe_untr_port_nested
+      - dependency_vdbe_untr_x_vlan1-Network-Role_vmi_subport
\ 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/pattern1c2/differentNetwork/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNetwork/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..c3b0532
--- /dev/null
@@ -0,0 +1,23 @@
+{
+  "name": "vMME_Small",
+  "description": "HOT template with 2 compute",
+  "version": "2018-02-01",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true",
+      "data": [
+        {
+          "file": "heat_env.env",
+          "type": "HEAT_ENV"
+        }
+      ]
+    },
+    {
+      "file": "nested.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/pattern1c2/differentNetwork/in/heat_env.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNetwork/in/heat_env.env
new file mode 100644 (file)
index 0000000..8ce5738
--- /dev/null
@@ -0,0 +1,45 @@
+parameters:
+  pd_server_names: ZRDM1MOGX01MPD001,ZRDM1MOGX01MPD002
+  pd_image_name: MOG_BASE_8.0
+  pd_flavor_name: m3.xlarge
+  oam_server_names: ZRDM1MOGX01OAM001,ZRDM1MOGX01OAM002
+  oam_image_name: MOG_BASE_8.0
+  oam_flavor_name: m3.xlarge
+  sm_server_names: ZRDM1MOGX01MSM001,ZRDM1MOGX01MSM002
+  sm_image_name: MOG_BASE_8.0
+  sm_flavor_name: m2.xlarge4
+  ps_server_names: ZRDM1MOGX01MPS001,ZRDM1MOGX01MPS002,ZRDM1MOGX01MPS003,ZRDM1MOGX01MPS004
+  ps_image_name: MOG_BASE_8.0
+  ps_flavor_name: m3.xlarge
+  cm_server_names: ZRDM1MOGX01MCM001
+  cm_image_name: MOG_BASE_8.0
+  cm_flavor_name: m3.xlarge
+  availabilityzone_name: nova
+  oam_net_name: oam_protected_net_0
+  oam_net_ips: 107.250.172.213,107.250.172.214,107.250.172.215,107.250.172.216,107.250.172.217
+  #internet_net_name: dmz_protected_net_0
+  #internet_net_ips: 107.239.53.4,107.239.53.5
+ # internet_net_floating_ip: 107.239.53.6
+  sl_net_name: exn_protected_net_0
+  sl_net_ips: 107.239.45.4,107.239.45.5
+  sl_net_floating_ip: 107.239.45.6
+  repl_net_name: cor_direct_net_0
+  repl_net_ips: 107.239.33.57,107.239.33.58
+  rx_net_name: cor_direct_net_1
+  rx_net_ips: 107.239.34.3,107.239.34.4
+  rx_net_floating_ip: 107.239.34.5
+  ran_net_name: gn_direct_net_0
+  ran_net_ips: 107.239.36.3,107.239.36.4
+  ran_net_floating_ip: 107.239.36.5
+  dummy_net_name_0: mog_dummy_0
+  dummy_net_start_0: 169.254.1.4
+  dummy_net_end_0: 169.254.1.254
+  dummy_net_cidr_0: 169.254.1.0/24
+  dummy_net_netmask_0: 255.255.255.0
+  dummy_net_name_1: mog_dummy_1
+  csb_net_name: int_mog_csb_net
+  csb_net_ips: 172.26.0.10,172.26.0.11,172.26.0.12,172.26.0.13,172.26.0.14,172.26.0.15,172.26.0.16,172.26.0.17,172.26.0.18,172.26.0.19,172.26.0.20
+  csb_net_start: 172.26.0.1
+  csb_net_end: 172.26.0.254
+  csb_net_cidr: 172.26.0.0/24
+  csb_net_netmask: 255.255.255.0
\ 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/pattern1c2/differentNetwork/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNetwork/in/main.yml
new file mode 100644 (file)
index 0000000..a7f27a3
--- /dev/null
@@ -0,0 +1,235 @@
+heat_template_version: 2018-02-01
+
+description: heat template that creates MOG stack
+
+parameters:
+  jsa_net_name:
+    type: string
+    description: network name of jsa log network
+  pd_server_names:
+    type: comma_delimited_list
+    label: PD server names
+    description: name of the PD instance
+  pd_image_name:
+    type: string
+    label: image name
+    description: PD image name
+  pd_flavor_name:
+    type: string
+    label: PD flavor name
+    description: flavor name of PD instance
+  oam_server_names:
+    type: comma_delimited_list
+    label: OAM server names
+    description: name of the OAM instance
+  oam_image_name:
+    type: string
+    label: image name
+    description: OAM image name
+  oam_flavor_name:
+    type: string
+    label: OAM flavor name
+    description: flavor name of OAM instance
+  sm_server_names:
+    type: comma_delimited_list
+    label: SM server names
+    description: name of the SM instance
+  sm_image_name:
+    type: string
+    label: image name
+    description: SM image name
+  sm_flavor_name:
+    type: string
+    label: SM flavor name
+    description: flavor name of SM instance
+  ps_server_names:
+    type: comma_delimited_list
+    label: PS server names
+    description: name of the PS instance
+  ps_image_name:
+    type: string
+    label: PS image name
+    description: PS image name
+  ps_flavor_name:
+    type: string
+    label: PS flavor name
+    description: flavor name of PS instance
+  cm_server_names:
+    type: comma_delimited_list
+    label: CM server names
+    description: name of the CM instance
+  cm_image_name:
+    type: string
+    label: image name
+    description: CM image name
+  cm_flavor_name:
+    type: string
+    label: CM flavor name
+    description: flavor name of CM instance
+  availabilityzone_name:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  oam_net_name:
+    type: string
+    label: oam network name
+    description: name of the oam network
+  oam_net_ips:
+    type: comma_delimited_list
+    label: internet network ips
+    description: ip of the OAM network
+  sl_net_name:
+    type: string
+    label: silver lining network name
+    description: id of the sl network
+  sl_net_ips:
+    type: comma_delimited_list
+    label: silver lining network ips
+    description: ips of the sl network
+  sl_net_floating_ip:
+    type: string
+    label: mog sl net virtual ip
+    description: mog sl net virtual ip
+  repl_net_name:
+    type: string
+    label: Replication network name
+    description: name of the replication network
+  repl_net_ips:
+    type: comma_delimited_list
+    label: repl network ips
+    description: ips of repl network
+  rx_net_name:
+    type: string
+    label: Rx network name
+    description: Rx network name
+  rx_net_ips:
+    type: comma_delimited_list
+    label: Rx network ips
+    description: Rx network ips
+  rx_net_floating_ip:
+    type: string
+    label: mog rx net virtual ip
+    description: mog rx net virtual ip
+  ran_net_name:
+    type: string
+    label: RAN network name
+    description: RAN network name
+  ran_net_ips:
+    type: comma_delimited_list
+    label: RAN network ips
+    description: RAN network ip
+  ran_net_floating_ip:
+    type: string
+    label: mog ran net virtual ip
+    description: mog ran net virtual ip
+  csb_net_name:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  csb_net_start:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  csb_net_end:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  csb_net_cidr:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  csb_net_netmask:
+    type: string
+    description: CSB internal network subnet mask
+  csb_net_ips:
+    type: comma_delimited_list
+    description: mog_csb_net IP addresses
+  dummy_net_name_0:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  dummy_net_start_0:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  dummy_net_end_0:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  dummy_net_cidr_0:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  dummy_net_netmask_0:
+    type: string
+    description: CSB internal network subnet mask
+  dummy_net_name_1:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+
+resources:
+  server_pd_01:
+    type: OS::Nova::Server
+    properties:
+      name: {get_param: [pd_server_names, 0]}
+      image: {get_param: pd_image_name}
+      flavor: {get_param: pd_flavor_name}
+      availability_zone: {get_param: availabilityzone_name}
+      networks:
+        - port: {get_resource: pd01_port_0}
+      user_data_format:  RAW
+
+  pd01_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: oam_net_name}
+
+
+  server_pd_02:
+    type: OS::Nova::Server
+    properties:
+      name: {get_param: [pd_server_names, 1]}
+      image: {get_param: pd_image_name}
+      flavor: {get_param: pd_flavor_name}
+      availability_zone: {get_param: availabilityzone_name}
+      networks:
+        - port: {get_resource: pd01_port_1}
+      user_data_format:  RAW
+
+  pd01_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: oam_net_name}
+
+  test_resourceGroup:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested.yml
+        properties:
+          p1: { get_resource: pd01_port_0}
+          net1: { get_resource: test_net1}
+
+  test_resourceGroup2:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested.yml
+        properties:
+          p1: { get_resource: pd01_port_1}
+          net1: { get_resource: test_net2}
+          
+  test_net1:
+    type: OS::Neutron::Net
+    properties:
+      name: {get_param: jsa_net_name}
+      shared: True
+
+  test_net2:
+    type: OS::Neutron::Net
+    properties:
+      name: {get_param: jsa_net_name}
+      shared: True      
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNetwork/in/nested.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNetwork/in/nested.yml
new file mode 100644 (file)
index 0000000..6a24418
--- /dev/null
@@ -0,0 +1,72 @@
+heat_template_version: 2018-02-01
+
+description: cmaui server template for vMMSC
+
+parameters:
+  p1:
+    type: string
+  p2:
+    type: string
+  net1:
+    type: string
+  net2:
+    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: p1 }]
\ 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/pattern1c2/differentNetwork/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNetwork/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..79521b4
--- /dev/null
@@ -0,0 +1,550 @@
+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:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      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
+      compute_pd_server_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd01_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_p1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd01_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd01_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd01_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd01_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd01_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      compute_pd_server_user_data_format:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_pd_server_pd01_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_pd01_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_pd01_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      scalable_pd_server:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server:
+        type: org.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:
+        type: org.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:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.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_pd01_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
+      os_pd_server:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server:
+        type: org.openecomp.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_pd01_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_pd_server:
+        type: org.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_pd_server:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.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:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.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_pd01_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:
+        type: org.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:
+        type: org.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:
+        type: org.openecomp.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_pd01_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_pd_server:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.capabilities.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_pd_server:
+        type: org.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:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_pd01_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server:
+        type: org.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_pd01_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server:
+        type: org.openecomp.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:
+        type: org.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:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server:
+        type: org.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_pd01_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server:
+        type: org.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_pd01_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.write.bytes_pd_server:
+        type: org.openecomp.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_pd01_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_pd_server_pd01_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_pd_server:
+        type: org.openecomp.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:
+        type: org.openecomp.capabilities.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_pd_server:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.capabilities.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:
+        type: org.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:
+        type: org.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_pd_server:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_pd01_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_pd_server_pd01_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server:
+        type: org.openecomp.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:
+        type: org.openecomp.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_pd_server:
+        type: org.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_pd01_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server:
+        type: org.openecomp.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:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.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_pd01_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.iops_pd_server:
+        type: org.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:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      vlan_ids:
+        type: string
+        required: true
+        status: SUPPORTED
+      p1:
+        type: string
+        required: true
+        status: SUPPORTED
+      p2:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ipv6_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ip_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      net2:
+        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
\ 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/pattern1c2/differentNetwork/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNetwork/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..42bef9d
--- /dev/null
@@ -0,0 +1,822 @@
+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_flavor_name:
+      label: PD flavor name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_flavor_name
+      type: string
+      description: flavor name of PD instance
+      default: m3.xlarge
+    dummy_net_name_1:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_name_1
+      type: string
+      description: csb internal network name
+      default: mog_dummy_1
+    dummy_net_name_0:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_name_0
+      type: string
+      description: csb internal network name
+      default: mog_dummy_0
+    dummy_net_cidr_0:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_cidr_0
+      type: string
+      description: csb internal cidr
+      default: 169.254.1.0/24
+    availabilityzone_name:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availabilityzone_name
+      type: string
+      description: availabilityzone name
+      default: nova
+    sl_net_floating_ip:
+      label: mog sl net virtual ip
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sl_net_floating_ip
+      type: string
+      description: mog sl net virtual ip
+      default: 107.239.45.6
+    repl_net_ips:
+      label: repl network ips
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: repl_net_ips
+      type: list
+      description: ips of repl network
+      default:
+      - 107.239.33.57
+      - 107.239.33.58
+      entry_schema:
+        type: string
+    sl_net_name:
+      label: silver lining network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sl_net_name
+      type: string
+      description: id of the sl network
+      default: exn_protected_net_0
+    rx_net_floating_ip:
+      label: mog rx net virtual ip
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: rx_net_floating_ip
+      type: string
+      description: mog rx net virtual ip
+      default: 107.239.34.5
+    pd_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_image_name
+      type: string
+      description: PD image name
+      default: MOG_BASE_8.0
+    pd_server_names:
+      label: PD server names
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_server_names
+      type: list
+      description: name of the PD instance
+      default:
+      - ZRDM1MOGX01MPD001
+      - ZRDM1MOGX01MPD002
+      entry_schema:
+        type: string
+    sm_server_names:
+      label: SM server names
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sm_server_names
+      type: list
+      description: name of the SM instance
+      default:
+      - ZRDM1MOGX01MSM001
+      - ZRDM1MOGX01MSM002
+      entry_schema:
+        type: string
+    csb_net_start:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_start
+      type: string
+      description: csb internal start
+      default: 172.26.0.1
+    dummy_net_netmask_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_netmask_0
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    cm_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: cm_image_name
+      type: string
+      description: CM image name
+      default: MOG_BASE_8.0
+    ran_net_floating_ip:
+      label: mog ran net virtual ip
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ran_net_floating_ip
+      type: string
+      description: mog ran net virtual ip
+      default: 107.239.36.5
+    sm_flavor_name:
+      label: SM flavor name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sm_flavor_name
+      type: string
+      description: flavor name of SM instance
+      default: m2.xlarge4
+    ran_net_ips:
+      label: RAN network ips
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ran_net_ips
+      type: list
+      description: RAN network ip
+      default:
+      - 107.239.36.3
+      - 107.239.36.4
+      entry_schema:
+        type: string
+    ps_image_name:
+      label: PS image name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ps_image_name
+      type: string
+      description: PS image name
+      default: MOG_BASE_8.0
+    dummy_net_end_0:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_end_0
+      type: string
+      description: csb internal end
+      default: 169.254.1.254
+    oam_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_image_name
+      type: string
+      description: OAM image name
+      default: MOG_BASE_8.0
+    oam_server_names:
+      label: OAM server names
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_server_names
+      type: list
+      description: name of the OAM instance
+      default:
+      - ZRDM1MOGX01OAM001
+      - ZRDM1MOGX01OAM002
+      entry_schema:
+        type: string
+    oam_net_name:
+      label: oam network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: name of the oam network
+      default: oam_protected_net_0
+    oam_net_ips:
+      label: internet network ips
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_ips
+      type: list
+      description: ip of the OAM network
+      default:
+      - 107.250.172.213
+      - 107.250.172.214
+      - 107.250.172.215
+      - 107.250.172.216
+      - 107.250.172.217
+      entry_schema:
+        type: string
+    csb_net_cidr:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_cidr
+      type: string
+      description: csb internal cidr
+      default: 172.26.0.0/24
+    ran_net_name:
+      label: RAN network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ran_net_name
+      type: string
+      description: RAN network name
+      default: gn_direct_net_0
+    cm_server_names:
+      label: CM server names
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: cm_server_names
+      type: list
+      description: name of the CM instance
+      default:
+      - ZRDM1MOGX01MCM001
+      entry_schema:
+        type: string
+    sl_net_ips:
+      label: silver lining network ips
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sl_net_ips
+      type: list
+      description: ips of the sl network
+      default:
+      - 107.239.45.4
+      - 107.239.45.5
+      entry_schema:
+        type: string
+    rx_net_name:
+      label: Rx network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: rx_net_name
+      type: string
+      description: Rx network name
+      default: cor_direct_net_1
+    csb_net_netmask:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_netmask
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    oam_flavor_name:
+      label: OAM flavor name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_flavor_name
+      type: string
+      description: flavor name of OAM instance
+      default: m3.xlarge
+    repl_net_name:
+      label: Replication network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: repl_net_name
+      type: string
+      description: name of the replication network
+      default: cor_direct_net_0
+    csb_net_end:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_end
+      type: string
+      description: csb internal end
+      default: 172.26.0.254
+    dummy_net_start_0:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_start_0
+      type: string
+      description: csb internal start
+      default: 169.254.1.4
+    jsa_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: jsa_net_name
+      type: string
+      description: network name of jsa log network
+    cm_flavor_name:
+      label: CM flavor name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: cm_flavor_name
+      type: string
+      description: flavor name of CM instance
+      default: m3.xlarge
+    sm_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sm_image_name
+      type: string
+      description: SM image name
+      default: MOG_BASE_8.0
+    csb_net_name:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_name
+      type: string
+      description: csb internal network name
+      default: int_mog_csb_net
+    ps_server_names:
+      label: PS server names
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ps_server_names
+      type: list
+      description: name of the PS instance
+      default:
+      - ZRDM1MOGX01MPS001
+      - ZRDM1MOGX01MPS002
+      - ZRDM1MOGX01MPS003
+      - ZRDM1MOGX01MPS004
+      entry_schema:
+        type: string
+    csb_net_ips:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_ips
+      type: list
+      description: mog_csb_net IP addresses
+      default:
+      - 172.26.0.10
+      - 172.26.0.11
+      - 172.26.0.12
+      - 172.26.0.13
+      - 172.26.0.14
+      - 172.26.0.15
+      - 172.26.0.16
+      - 172.26.0.17
+      - 172.26.0.18
+      - 172.26.0.19
+      - 172.26.0.20
+      entry_schema:
+        type: string
+    ps_flavor_name:
+      label: PS flavor name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ps_flavor_name
+      type: string
+      description: flavor name of PS instance
+      default: m3.xlarge
+    rx_net_ips:
+      label: Rx network ips
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: rx_net_ips
+      type: list
+      description: Rx network ips
+      default:
+      - 107.239.34.3
+      - 107.239.34.4
+      entry_schema:
+        type: string
+  node_templates:
+    test_net2:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        shared: true
+        network_name:
+          get_input: jsa_net_name
+    test_net1:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        shared: true
+        network_name:
+          get_input: jsa_net_name
+    abstract_pd_server_0:
+      type: org.openecomp.resource.abstract.nodes.pd_server
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_availability_zone:
+        - get_input: availabilityzone_name
+        compute_pd_server_name:
+        - get_input:
+          - pd_server_names
+          - 1
+        subinterface_nested_service_template_filter_count:
+        - 9
+        vm_flavor_name:
+          get_input: pd_flavor_name
+        subinterface_nested_p1:
+        - pd01_port_1
+        port_pd01_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        vm_image_name:
+          get_input: pd_image_name
+        port_pd01_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_pd01_port_network:
+        - get_input: oam_net_name
+        subinterface_nested_net1:
+        - test_net2
+        port_pd01_port_network_role_tag: oam
+        compute_pd_server_user_data_format:
+        - RAW
+        service_template_filter:
+          substitute_service_template: Nested_pd_serverServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+          capability: tosca.capabilities.network.Linkable
+          node: test_net2
+          relationship: tosca.relationships.network.LinksTo
+    abstract_pd_server_1:
+      type: org.openecomp.resource.abstract.nodes.pd_server
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_availability_zone:
+        - get_input: availabilityzone_name
+        compute_pd_server_name:
+        - get_input:
+          - pd_server_names
+          - 0
+        subinterface_nested_service_template_filter_count:
+        - 9
+        vm_flavor_name:
+          get_input: pd_flavor_name
+        subinterface_nested_p1:
+        - pd01_port_0
+        port_pd01_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        vm_image_name:
+          get_input: pd_image_name
+        port_pd01_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_pd01_port_network:
+        - get_input: oam_net_name
+        subinterface_nested_net1:
+        - test_net1
+        port_pd01_port_network_role_tag: oam
+        compute_pd_server_user_data_format:
+        - RAW
+        service_template_filter:
+          substitute_service_template: Nested_pd_serverServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+          capability: tosca.capabilities.network.Linkable
+          node: test_net1
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    main_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/main.yml
+        description: heat template that creates MOG stack
+      members:
+      - test_net2
+      - test_net1
+      - abstract_pd_server_0
+      - abstract_pd_server_1
\ 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/pattern1c2/differentNetwork/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNetwork/out/Nested_pd_serverServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..f0bd1b0
--- /dev/null
@@ -0,0 +1,352 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    compute_pd_server_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_nested_p1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd01_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd01_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port_order:
+      type: integer
+      required: true
+    port_pd01_port_subnetpoolid:
+      type: string
+      required: true
+    subinterface_nested_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port_network_role:
+      type: string
+      required: true
+    port_pd01_port_network_role_tag:
+      type: string
+      required: true
+    port_pd01_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    compute_pd_server_user_data_format:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    pd_server_pd01_port_nested:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+      directives:
+      - substitutable
+      properties:
+        p1:
+          get_input:
+          - subinterface_nested_p1
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
+          mandatory: true
+        net1:
+          get_input:
+          - subinterface_nested_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_pd01_port
+          relationship: tosca.relationships.network.BindsTo
+    pd_server:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_name
+          - index_value
+        user_data_format:
+          get_input:
+          - compute_pd_server_user_data_format
+          - index_value
+    pd_server_pd01_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd01_port_exCP_naming
+        vlan_requirements:
+          get_input: port_pd01_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd01_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd01_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd01_port_mac_requirements
+        order:
+          get_input: port_pd01_port_order
+        network_role:
+          get_input: port_pd01_port_network_role
+        subnetpoolid:
+          get_input: port_pd01_port_subnetpoolid
+        network:
+          get_input:
+          - port_pd01_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server
+    capabilities:
+      scalable_pd_server:
+      - pd_server
+      - scalable
+      disk.read.bytes.rate_pd_server:
+      - pd_server
+      - disk.read.bytes.rate
+      memory.usage_pd_server:
+      - pd_server
+      - memory.usage
+      memory_pd_server:
+      - pd_server
+      - memory
+      disk.device.usage_pd_server:
+      - pd_server
+      - disk.device.usage
+      network.outgoing.packets.rate_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.outgoing.packets.rate
+      os_pd_server:
+      - pd_server
+      - os
+      disk.write.bytes.rate_pd_server:
+      - pd_server
+      - disk.write.bytes.rate
+      network.incoming.bytes_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.incoming.bytes
+      cpu_pd_server:
+      - pd_server
+      - cpu
+      cpu_util_pd_server:
+      - pd_server
+      - cpu_util
+      disk.device.write.requests.rate_pd_server:
+      - pd_server
+      - disk.device.write.requests.rate
+      disk.read.bytes_pd_server:
+      - pd_server
+      - disk.read.bytes
+      disk.device.read.bytes.rate_pd_server:
+      - pd_server
+      - disk.device.read.bytes.rate
+      network.outgoing.bytes_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.outgoing.bytes
+      disk.iops_pd_server:
+      - pd_server
+      - disk.iops
+      memory.resident_pd_server:
+      - pd_server
+      - memory.resident
+      cpu.delta_pd_server:
+      - pd_server
+      - cpu.delta
+      network.incoming.packets.rate_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.incoming.packets.rate
+      vcpus_pd_server:
+      - pd_server
+      - vcpus
+      disk.device.write.bytes.rate_pd_server:
+      - pd_server
+      - disk.device.write.bytes.rate
+      disk.device.write.requests_pd_server:
+      - pd_server
+      - disk.device.write.requests
+      endpoint_pd_server:
+      - pd_server
+      - endpoint
+      attachment_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - attachment
+      disk.capacity_pd_server:
+      - pd_server
+      - disk.capacity
+      feature_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+      - pd_server_pd01_port_nested
+      - feature_template_Vlan_vmi_1
+      disk.device.allocation_pd_server:
+      - pd_server
+      - disk.device.allocation
+      disk.allocation_pd_server:
+      - pd_server
+      - disk.allocation
+      binding_pd_server:
+      - pd_server
+      - binding
+      disk.read.requests_pd_server:
+      - pd_server
+      - disk.read.requests
+      feature_pd_server_pd01_port_nested:
+      - pd_server_pd01_port_nested
+      - feature
+      feature_pd_server:
+      - pd_server
+      - feature
+      disk.usage_pd_server:
+      - pd_server
+      - disk.usage
+      binding_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - binding
+      disk.write.bytes_pd_server:
+      - pd_server
+      - disk.write.bytes
+      network.incoming.bytes.rate_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.incoming.bytes.rate
+      network.incoming.packets_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.incoming.packets
+      disk.device.read.requests.rate_pd_server:
+      - pd_server
+      - disk.device.read.requests.rate
+      disk.root.size_pd_server:
+      - pd_server
+      - disk.root.size
+      disk.device.read.bytes_pd_server:
+      - pd_server
+      - disk.device.read.bytes
+      disk.device.write.bytes_pd_server:
+      - pd_server
+      - disk.device.write.bytes
+      disk.device.read.requests_pd_server:
+      - pd_server
+      - disk.device.read.requests
+      instance_pd_server:
+      - pd_server
+      - instance
+      host_pd_server:
+      - pd_server
+      - host
+      network.outpoing.packets_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.outpoing.packets
+      forwarder_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - forwarder
+      disk.write.requests.rate_pd_server:
+      - pd_server
+      - disk.write.requests.rate
+      disk.ephemeral.size_pd_server:
+      - pd_server
+      - disk.ephemeral.size
+      disk.write.requests_pd_server:
+      - pd_server
+      - disk.write.requests
+      feature_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - feature
+      disk.device.latency_pd_server:
+      - pd_server
+      - disk.device.latency
+      disk.latency_pd_server:
+      - pd_server
+      - disk.latency
+      disk.device.capacity_pd_server:
+      - pd_server
+      - disk.device.capacity
+      network.outgoing.bytes.rate_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.outgoing.bytes.rate
+      disk.device.iops_pd_server:
+      - pd_server
+      - disk.device.iops
+    requirements:
+      local_storage_pd_server:
+      - pd_server
+      - local_storage
+      link_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+      - pd_server_pd01_port_nested
+      - link_template_Vlan_vmi_1
+      link_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - link
+      dependency_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - dependency
+      dependency_pd_server_pd01_port_nested:
+      - pd_server_pd01_port_nested
+      - dependency
+      dependency_pd_server:
+      - pd_server
+      - dependency
+      dependency_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+      - pd_server_pd01_port_nested
+      - dependency_template_Vlan_vmi_1
\ 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/pattern1c2/differentNetwork/out/nestedServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNetwork/out/nestedServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..bbc48d7
--- /dev/null
@@ -0,0 +1,119 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    vlan_ids:
+      hidden: false
+      immutable: false
+      type: string
+    p1:
+      hidden: false
+      immutable: false
+      type: string
+    p2:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ipv6_address:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ip_address:
+      hidden: false
+      immutable: false
+      type: string
+    net2:
+      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: p1
+        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_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested.yml
+        description: cmaui server template for vMMSC
+      members:
+      - template_Vlan_vmi_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+    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/pattern1c2/differentNodesConnectedOut/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNodesConnectedOut/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..c3b0532
--- /dev/null
@@ -0,0 +1,23 @@
+{
+  "name": "vMME_Small",
+  "description": "HOT template with 2 compute",
+  "version": "2018-02-01",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true",
+      "data": [
+        {
+          "file": "heat_env.env",
+          "type": "HEAT_ENV"
+        }
+      ]
+    },
+    {
+      "file": "nested.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/pattern1c2/differentNodesConnectedOut/in/heat_env.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNodesConnectedOut/in/heat_env.env
new file mode 100644 (file)
index 0000000..8ce5738
--- /dev/null
@@ -0,0 +1,45 @@
+parameters:
+  pd_server_names: ZRDM1MOGX01MPD001,ZRDM1MOGX01MPD002
+  pd_image_name: MOG_BASE_8.0
+  pd_flavor_name: m3.xlarge
+  oam_server_names: ZRDM1MOGX01OAM001,ZRDM1MOGX01OAM002
+  oam_image_name: MOG_BASE_8.0
+  oam_flavor_name: m3.xlarge
+  sm_server_names: ZRDM1MOGX01MSM001,ZRDM1MOGX01MSM002
+  sm_image_name: MOG_BASE_8.0
+  sm_flavor_name: m2.xlarge4
+  ps_server_names: ZRDM1MOGX01MPS001,ZRDM1MOGX01MPS002,ZRDM1MOGX01MPS003,ZRDM1MOGX01MPS004
+  ps_image_name: MOG_BASE_8.0
+  ps_flavor_name: m3.xlarge
+  cm_server_names: ZRDM1MOGX01MCM001
+  cm_image_name: MOG_BASE_8.0
+  cm_flavor_name: m3.xlarge
+  availabilityzone_name: nova
+  oam_net_name: oam_protected_net_0
+  oam_net_ips: 107.250.172.213,107.250.172.214,107.250.172.215,107.250.172.216,107.250.172.217
+  #internet_net_name: dmz_protected_net_0
+  #internet_net_ips: 107.239.53.4,107.239.53.5
+ # internet_net_floating_ip: 107.239.53.6
+  sl_net_name: exn_protected_net_0
+  sl_net_ips: 107.239.45.4,107.239.45.5
+  sl_net_floating_ip: 107.239.45.6
+  repl_net_name: cor_direct_net_0
+  repl_net_ips: 107.239.33.57,107.239.33.58
+  rx_net_name: cor_direct_net_1
+  rx_net_ips: 107.239.34.3,107.239.34.4
+  rx_net_floating_ip: 107.239.34.5
+  ran_net_name: gn_direct_net_0
+  ran_net_ips: 107.239.36.3,107.239.36.4
+  ran_net_floating_ip: 107.239.36.5
+  dummy_net_name_0: mog_dummy_0
+  dummy_net_start_0: 169.254.1.4
+  dummy_net_end_0: 169.254.1.254
+  dummy_net_cidr_0: 169.254.1.0/24
+  dummy_net_netmask_0: 255.255.255.0
+  dummy_net_name_1: mog_dummy_1
+  csb_net_name: int_mog_csb_net
+  csb_net_ips: 172.26.0.10,172.26.0.11,172.26.0.12,172.26.0.13,172.26.0.14,172.26.0.15,172.26.0.16,172.26.0.17,172.26.0.18,172.26.0.19,172.26.0.20
+  csb_net_start: 172.26.0.1
+  csb_net_end: 172.26.0.254
+  csb_net_cidr: 172.26.0.0/24
+  csb_net_netmask: 255.255.255.0
\ 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/pattern1c2/differentNodesConnectedOut/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNodesConnectedOut/in/main.yml
new file mode 100644 (file)
index 0000000..968fffc
--- /dev/null
@@ -0,0 +1,235 @@
+heat_template_version: 2018-02-01
+
+description: heat template that creates MOG stack
+
+parameters:
+  jsa_net_name:
+    type: string
+    description: network name of jsa log network
+  pd_server_names:
+    type: comma_delimited_list
+    label: PD server names
+    description: name of the PD instance
+  pd_image_name:
+    type: string
+    label: image name
+    description: PD image name
+  pd_flavor_name:
+    type: string
+    label: PD flavor name
+    description: flavor name of PD instance
+  oam_server_names:
+    type: comma_delimited_list
+    label: OAM server names
+    description: name of the OAM instance
+  oam_image_name:
+    type: string
+    label: image name
+    description: OAM image name
+  oam_flavor_name:
+    type: string
+    label: OAM flavor name
+    description: flavor name of OAM instance
+  sm_server_names:
+    type: comma_delimited_list
+    label: SM server names
+    description: name of the SM instance
+  sm_image_name:
+    type: string
+    label: image name
+    description: SM image name
+  sm_flavor_name:
+    type: string
+    label: SM flavor name
+    description: flavor name of SM instance
+  ps_server_names:
+    type: comma_delimited_list
+    label: PS server names
+    description: name of the PS instance
+  ps_image_name:
+    type: string
+    label: PS image name
+    description: PS image name
+  ps_flavor_name:
+    type: string
+    label: PS flavor name
+    description: flavor name of PS instance
+  cm_server_names:
+    type: comma_delimited_list
+    label: CM server names
+    description: name of the CM instance
+  cm_image_name:
+    type: string
+    label: image name
+    description: CM image name
+  cm_flavor_name:
+    type: string
+    label: CM flavor name
+    description: flavor name of CM instance
+  availabilityzone_name:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  oam_net_name:
+    type: string
+    label: oam network name
+    description: name of the oam network
+  oam_net_ips:
+    type: comma_delimited_list
+    label: internet network ips
+    description: ip of the OAM network
+  sl_net_name:
+    type: string
+    label: silver lining network name
+    description: id of the sl network
+  sl_net_ips:
+    type: comma_delimited_list
+    label: silver lining network ips
+    description: ips of the sl network
+  sl_net_floating_ip:
+    type: string
+    label: mog sl net virtual ip
+    description: mog sl net virtual ip
+  repl_net_name:
+    type: string
+    label: Replication network name
+    description: name of the replication network
+  repl_net_ips:
+    type: comma_delimited_list
+    label: repl network ips
+    description: ips of repl network
+  rx_net_name:
+    type: string
+    label: Rx network name
+    description: Rx network name
+  rx_net_ips:
+    type: comma_delimited_list
+    label: Rx network ips
+    description: Rx network ips
+  rx_net_floating_ip:
+    type: string
+    label: mog rx net virtual ip
+    description: mog rx net virtual ip
+  ran_net_name:
+    type: string
+    label: RAN network name
+    description: RAN network name
+  ran_net_ips:
+    type: comma_delimited_list
+    label: RAN network ips
+    description: RAN network ip
+  ran_net_floating_ip:
+    type: string
+    label: mog ran net virtual ip
+    description: mog ran net virtual ip
+  csb_net_name:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  csb_net_start:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  csb_net_end:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  csb_net_cidr:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  csb_net_netmask:
+    type: string
+    description: CSB internal network subnet mask
+  csb_net_ips:
+    type: comma_delimited_list
+    description: mog_csb_net IP addresses
+  dummy_net_name_0:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  dummy_net_start_0:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  dummy_net_end_0:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  dummy_net_cidr_0:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  dummy_net_netmask_0:
+    type: string
+    description: CSB internal network subnet mask
+  dummy_net_name_1:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+
+resources:
+  server_pd_01:
+    type: OS::Nova::Server
+    properties:
+      name: {get_param: [pd_server_names, 0]}
+      image: {get_param: pd_image_name}
+      flavor: {get_param: pd_flavor_name}
+      availability_zone: {get_param: availabilityzone_name}
+      networks:
+        - port: {get_resource: pd01_port_0}
+      user_data_format:  RAW
+
+  pd01_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: oam_net_name}
+
+  server_pd_02:
+    type: OS::Nova::Server
+    properties:
+      name: {get_param: [pd_server_names, 1]}
+      image: {get_param: pd_image_name}
+      flavor: {get_param: pd_flavor_name}
+      availability_zone: {get_param: availabilityzone_name}
+      networks:
+        - port: {get_resource: pd01_port_1}
+      user_data_format:  RAW
+
+  pd01_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: oam_net_name}
+
+  test_resourceGroup:
+    type: OS::Heat::ResourceGroup
+    depends_on: test_net2
+    properties:
+      count: 9
+      resource_def:
+        type: nested.yml
+        properties:
+          p1: { get_resource: pd01_port_0}
+          net1: { get_resource: test_net1}
+
+  test_resourceGroup2:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 9
+      resource_def:
+        type: nested.yml
+        properties:
+          p1: { get_resource: pd01_port_1}
+          net1: { get_resource: test_net1}
+          
+  test_net1:
+    type: OS::Neutron::Net
+    properties:
+      name: {get_param: jsa_net_name}
+      shared: True
+
+  test_net2:
+    type: OS::Neutron::Net
+    properties:
+      name: {get_param: jsa_net_name}
+      shared: True      
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNodesConnectedOut/in/nested.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNodesConnectedOut/in/nested.yml
new file mode 100644 (file)
index 0000000..6a24418
--- /dev/null
@@ -0,0 +1,72 @@
+heat_template_version: 2018-02-01
+
+description: cmaui server template for vMMSC
+
+parameters:
+  p1:
+    type: string
+  p2:
+    type: string
+  net1:
+    type: string
+  net2:
+    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: p1 }]
\ 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/pattern1c2/differentNodesConnectedOut/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNodesConnectedOut/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..79521b4
--- /dev/null
@@ -0,0 +1,550 @@
+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:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      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
+      compute_pd_server_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_pd_server_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd01_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_p1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd01_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd01_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd01_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd01_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_net1:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd01_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      compute_pd_server_user_data_format:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_pd_server_pd01_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_pd01_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_pd01_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      scalable_pd_server:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_server:
+        type: org.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:
+        type: org.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:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.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_pd01_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
+      os_pd_server:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_server:
+        type: org.openecomp.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_pd01_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_pd_server:
+        type: org.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_pd_server:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.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:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.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_pd01_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:
+        type: org.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:
+        type: org.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:
+        type: org.openecomp.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_pd01_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_pd_server:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.capabilities.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_pd_server:
+        type: org.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:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_pd01_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_server:
+        type: org.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_pd01_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation_pd_server:
+        type: org.openecomp.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:
+        type: org.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:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_server:
+        type: org.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_pd01_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_server:
+        type: org.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_pd01_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.write.bytes_pd_server:
+        type: org.openecomp.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_pd01_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_pd_server_pd01_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_pd_server:
+        type: org.openecomp.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:
+        type: org.openecomp.capabilities.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_pd_server:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.capabilities.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:
+        type: org.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:
+        type: org.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_pd_server:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets_pd_server_pd01_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_pd_server_pd01_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_server:
+        type: org.openecomp.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:
+        type: org.openecomp.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_pd_server:
+        type: org.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_pd01_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency_pd_server:
+        type: org.openecomp.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:
+        type: org.openecomp.capabilities.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:
+        type: org.openecomp.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_pd01_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.iops_pd_server:
+        type: org.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:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      vlan_ids:
+        type: string
+        required: true
+        status: SUPPORTED
+      p1:
+        type: string
+        required: true
+        status: SUPPORTED
+      p2:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ipv6_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      virtual_ip_address:
+        type: string
+        required: true
+        status: SUPPORTED
+      net2:
+        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
\ 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/pattern1c2/differentNodesConnectedOut/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNodesConnectedOut/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..1333f6d
--- /dev/null
@@ -0,0 +1,826 @@
+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_flavor_name:
+      label: PD flavor name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_flavor_name
+      type: string
+      description: flavor name of PD instance
+      default: m3.xlarge
+    dummy_net_name_1:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_name_1
+      type: string
+      description: csb internal network name
+      default: mog_dummy_1
+    dummy_net_name_0:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_name_0
+      type: string
+      description: csb internal network name
+      default: mog_dummy_0
+    dummy_net_cidr_0:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_cidr_0
+      type: string
+      description: csb internal cidr
+      default: 169.254.1.0/24
+    availabilityzone_name:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availabilityzone_name
+      type: string
+      description: availabilityzone name
+      default: nova
+    sl_net_floating_ip:
+      label: mog sl net virtual ip
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sl_net_floating_ip
+      type: string
+      description: mog sl net virtual ip
+      default: 107.239.45.6
+    repl_net_ips:
+      label: repl network ips
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: repl_net_ips
+      type: list
+      description: ips of repl network
+      default:
+      - 107.239.33.57
+      - 107.239.33.58
+      entry_schema:
+        type: string
+    sl_net_name:
+      label: silver lining network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sl_net_name
+      type: string
+      description: id of the sl network
+      default: exn_protected_net_0
+    rx_net_floating_ip:
+      label: mog rx net virtual ip
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: rx_net_floating_ip
+      type: string
+      description: mog rx net virtual ip
+      default: 107.239.34.5
+    pd_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_image_name
+      type: string
+      description: PD image name
+      default: MOG_BASE_8.0
+    pd_server_names:
+      label: PD server names
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: pd_server_names
+      type: list
+      description: name of the PD instance
+      default:
+      - ZRDM1MOGX01MPD001
+      - ZRDM1MOGX01MPD002
+      entry_schema:
+        type: string
+    sm_server_names:
+      label: SM server names
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sm_server_names
+      type: list
+      description: name of the SM instance
+      default:
+      - ZRDM1MOGX01MSM001
+      - ZRDM1MOGX01MSM002
+      entry_schema:
+        type: string
+    csb_net_start:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_start
+      type: string
+      description: csb internal start
+      default: 172.26.0.1
+    dummy_net_netmask_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_netmask_0
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    cm_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: cm_image_name
+      type: string
+      description: CM image name
+      default: MOG_BASE_8.0
+    ran_net_floating_ip:
+      label: mog ran net virtual ip
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ran_net_floating_ip
+      type: string
+      description: mog ran net virtual ip
+      default: 107.239.36.5
+    sm_flavor_name:
+      label: SM flavor name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sm_flavor_name
+      type: string
+      description: flavor name of SM instance
+      default: m2.xlarge4
+    ran_net_ips:
+      label: RAN network ips
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ran_net_ips
+      type: list
+      description: RAN network ip
+      default:
+      - 107.239.36.3
+      - 107.239.36.4
+      entry_schema:
+        type: string
+    ps_image_name:
+      label: PS image name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ps_image_name
+      type: string
+      description: PS image name
+      default: MOG_BASE_8.0
+    dummy_net_end_0:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_end_0
+      type: string
+      description: csb internal end
+      default: 169.254.1.254
+    oam_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_image_name
+      type: string
+      description: OAM image name
+      default: MOG_BASE_8.0
+    oam_server_names:
+      label: OAM server names
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_server_names
+      type: list
+      description: name of the OAM instance
+      default:
+      - ZRDM1MOGX01OAM001
+      - ZRDM1MOGX01OAM002
+      entry_schema:
+        type: string
+    oam_net_name:
+      label: oam network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: name of the oam network
+      default: oam_protected_net_0
+    oam_net_ips:
+      label: internet network ips
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_ips
+      type: list
+      description: ip of the OAM network
+      default:
+      - 107.250.172.213
+      - 107.250.172.214
+      - 107.250.172.215
+      - 107.250.172.216
+      - 107.250.172.217
+      entry_schema:
+        type: string
+    csb_net_cidr:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_cidr
+      type: string
+      description: csb internal cidr
+      default: 172.26.0.0/24
+    ran_net_name:
+      label: RAN network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ran_net_name
+      type: string
+      description: RAN network name
+      default: gn_direct_net_0
+    cm_server_names:
+      label: CM server names
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: cm_server_names
+      type: list
+      description: name of the CM instance
+      default:
+      - ZRDM1MOGX01MCM001
+      entry_schema:
+        type: string
+    sl_net_ips:
+      label: silver lining network ips
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sl_net_ips
+      type: list
+      description: ips of the sl network
+      default:
+      - 107.239.45.4
+      - 107.239.45.5
+      entry_schema:
+        type: string
+    rx_net_name:
+      label: Rx network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: rx_net_name
+      type: string
+      description: Rx network name
+      default: cor_direct_net_1
+    csb_net_netmask:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_netmask
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    oam_flavor_name:
+      label: OAM flavor name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_flavor_name
+      type: string
+      description: flavor name of OAM instance
+      default: m3.xlarge
+    repl_net_name:
+      label: Replication network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: repl_net_name
+      type: string
+      description: name of the replication network
+      default: cor_direct_net_0
+    csb_net_end:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_end
+      type: string
+      description: csb internal end
+      default: 172.26.0.254
+    dummy_net_start_0:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: dummy_net_start_0
+      type: string
+      description: csb internal start
+      default: 169.254.1.4
+    jsa_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: jsa_net_name
+      type: string
+      description: network name of jsa log network
+    cm_flavor_name:
+      label: CM flavor name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: cm_flavor_name
+      type: string
+      description: flavor name of CM instance
+      default: m3.xlarge
+    sm_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: sm_image_name
+      type: string
+      description: SM image name
+      default: MOG_BASE_8.0
+    csb_net_name:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_name
+      type: string
+      description: csb internal network name
+      default: int_mog_csb_net
+    ps_server_names:
+      label: PS server names
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ps_server_names
+      type: list
+      description: name of the PS instance
+      default:
+      - ZRDM1MOGX01MPS001
+      - ZRDM1MOGX01MPS002
+      - ZRDM1MOGX01MPS003
+      - ZRDM1MOGX01MPS004
+      entry_schema:
+        type: string
+    csb_net_ips:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: csb_net_ips
+      type: list
+      description: mog_csb_net IP addresses
+      default:
+      - 172.26.0.10
+      - 172.26.0.11
+      - 172.26.0.12
+      - 172.26.0.13
+      - 172.26.0.14
+      - 172.26.0.15
+      - 172.26.0.16
+      - 172.26.0.17
+      - 172.26.0.18
+      - 172.26.0.19
+      - 172.26.0.20
+      entry_schema:
+        type: string
+    ps_flavor_name:
+      label: PS flavor name
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: ps_flavor_name
+      type: string
+      description: flavor name of PS instance
+      default: m3.xlarge
+    rx_net_ips:
+      label: Rx network ips
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: rx_net_ips
+      type: list
+      description: Rx network ips
+      default:
+      - 107.239.34.3
+      - 107.239.34.4
+      entry_schema:
+        type: string
+  node_templates:
+    test_net2:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        shared: true
+        network_name:
+          get_input: jsa_net_name
+    test_net1:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        shared: true
+        network_name:
+          get_input: jsa_net_name
+    abstract_pd_server_0:
+      type: org.openecomp.resource.abstract.nodes.pd_server
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_availability_zone:
+        - get_input: availabilityzone_name
+        compute_pd_server_name:
+        - get_input:
+          - pd_server_names
+          - 1
+        subinterface_nested_service_template_filter_count:
+        - 9
+        vm_flavor_name:
+          get_input: pd_flavor_name
+        subinterface_nested_p1:
+        - pd01_port_1
+        port_pd01_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        vm_image_name:
+          get_input: pd_image_name
+        port_pd01_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_pd01_port_network:
+        - get_input: oam_net_name
+        subinterface_nested_net1:
+        - test_net1
+        port_pd01_port_network_role_tag: oam
+        compute_pd_server_user_data_format:
+        - RAW
+        service_template_filter:
+          substitute_service_template: Nested_pd_serverServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+          capability: tosca.capabilities.network.Linkable
+          node: test_net1
+          relationship: tosca.relationships.network.LinksTo
+    abstract_pd_server_1:
+      type: org.openecomp.resource.abstract.nodes.pd_server
+      directives:
+      - substitutable
+      properties:
+        compute_pd_server_availability_zone:
+        - get_input: availabilityzone_name
+        compute_pd_server_name:
+        - get_input:
+          - pd_server_names
+          - 0
+        subinterface_nested_service_template_filter_count:
+        - 9
+        vm_flavor_name:
+          get_input: pd_flavor_name
+        subinterface_nested_p1:
+        - pd01_port_0
+        port_pd01_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        vm_image_name:
+          get_input: pd_image_name
+        port_pd01_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        - ip_version: 6
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_pd01_port_network:
+        - get_input: oam_net_name
+        subinterface_nested_net1:
+        - test_net1
+        port_pd01_port_network_role_tag: oam
+        compute_pd_server_user_data_format:
+        - RAW
+        service_template_filter:
+          substitute_service_template: Nested_pd_serverServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - dependency_pd_server_pd01_port_nested:
+          capability: tosca.capabilities.Node
+          node: test_net2
+          relationship: tosca.relationships.DependsOn
+      - link_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+          capability: tosca.capabilities.network.Linkable
+          node: test_net1
+          relationship: tosca.relationships.network.LinksTo
+  groups:
+    main_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/main.yml
+        description: heat template that creates MOG stack
+      members:
+      - test_net2
+      - test_net1
+      - abstract_pd_server_0
+      - abstract_pd_server_1
\ 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/pattern1c2/differentNodesConnectedOut/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNodesConnectedOut/out/Nested_pd_serverServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..f0bd1b0
--- /dev/null
@@ -0,0 +1,352 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    compute_pd_server_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_nested_p1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd01_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd01_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port_order:
+      type: integer
+      required: true
+    port_pd01_port_subnetpoolid:
+      type: string
+      required: true
+    subinterface_nested_net1:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port_network_role:
+      type: string
+      required: true
+    port_pd01_port_network_role_tag:
+      type: string
+      required: true
+    port_pd01_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    compute_pd_server_user_data_format:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    pd_server_pd01_port_nested:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+      directives:
+      - substitutable
+      properties:
+        p1:
+          get_input:
+          - subinterface_nested_p1
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
+          mandatory: true
+        net1:
+          get_input:
+          - subinterface_nested_net1
+          - index_value
+      requirements:
+      - binding_template_Vlan_vmi_1:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server_pd01_port
+          relationship: tosca.relationships.network.BindsTo
+    pd_server:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_name
+          - index_value
+        user_data_format:
+          get_input:
+          - compute_pd_server_user_data_format
+          - index_value
+    pd_server_pd01_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd01_port_exCP_naming
+        vlan_requirements:
+          get_input: port_pd01_port_vlan_requirements
+        ip_requirements:
+          get_input: port_pd01_port_ip_requirements
+        network_role_tag:
+          get_input: port_pd01_port_network_role_tag
+        mac_requirements:
+          get_input: port_pd01_port_mac_requirements
+        order:
+          get_input: port_pd01_port_order
+        network_role:
+          get_input: port_pd01_port_network_role
+        subnetpoolid:
+          get_input: port_pd01_port_subnetpoolid
+        network:
+          get_input:
+          - port_pd01_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server
+    capabilities:
+      scalable_pd_server:
+      - pd_server
+      - scalable
+      disk.read.bytes.rate_pd_server:
+      - pd_server
+      - disk.read.bytes.rate
+      memory.usage_pd_server:
+      - pd_server
+      - memory.usage
+      memory_pd_server:
+      - pd_server
+      - memory
+      disk.device.usage_pd_server:
+      - pd_server
+      - disk.device.usage
+      network.outgoing.packets.rate_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.outgoing.packets.rate
+      os_pd_server:
+      - pd_server
+      - os
+      disk.write.bytes.rate_pd_server:
+      - pd_server
+      - disk.write.bytes.rate
+      network.incoming.bytes_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.incoming.bytes
+      cpu_pd_server:
+      - pd_server
+      - cpu
+      cpu_util_pd_server:
+      - pd_server
+      - cpu_util
+      disk.device.write.requests.rate_pd_server:
+      - pd_server
+      - disk.device.write.requests.rate
+      disk.read.bytes_pd_server:
+      - pd_server
+      - disk.read.bytes
+      disk.device.read.bytes.rate_pd_server:
+      - pd_server
+      - disk.device.read.bytes.rate
+      network.outgoing.bytes_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.outgoing.bytes
+      disk.iops_pd_server:
+      - pd_server
+      - disk.iops
+      memory.resident_pd_server:
+      - pd_server
+      - memory.resident
+      cpu.delta_pd_server:
+      - pd_server
+      - cpu.delta
+      network.incoming.packets.rate_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.incoming.packets.rate
+      vcpus_pd_server:
+      - pd_server
+      - vcpus
+      disk.device.write.bytes.rate_pd_server:
+      - pd_server
+      - disk.device.write.bytes.rate
+      disk.device.write.requests_pd_server:
+      - pd_server
+      - disk.device.write.requests
+      endpoint_pd_server:
+      - pd_server
+      - endpoint
+      attachment_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - attachment
+      disk.capacity_pd_server:
+      - pd_server
+      - disk.capacity
+      feature_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+      - pd_server_pd01_port_nested
+      - feature_template_Vlan_vmi_1
+      disk.device.allocation_pd_server:
+      - pd_server
+      - disk.device.allocation
+      disk.allocation_pd_server:
+      - pd_server
+      - disk.allocation
+      binding_pd_server:
+      - pd_server
+      - binding
+      disk.read.requests_pd_server:
+      - pd_server
+      - disk.read.requests
+      feature_pd_server_pd01_port_nested:
+      - pd_server_pd01_port_nested
+      - feature
+      feature_pd_server:
+      - pd_server
+      - feature
+      disk.usage_pd_server:
+      - pd_server
+      - disk.usage
+      binding_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - binding
+      disk.write.bytes_pd_server:
+      - pd_server
+      - disk.write.bytes
+      network.incoming.bytes.rate_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.incoming.bytes.rate
+      network.incoming.packets_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.incoming.packets
+      disk.device.read.requests.rate_pd_server:
+      - pd_server
+      - disk.device.read.requests.rate
+      disk.root.size_pd_server:
+      - pd_server
+      - disk.root.size
+      disk.device.read.bytes_pd_server:
+      - pd_server
+      - disk.device.read.bytes
+      disk.device.write.bytes_pd_server:
+      - pd_server
+      - disk.device.write.bytes
+      disk.device.read.requests_pd_server:
+      - pd_server
+      - disk.device.read.requests
+      instance_pd_server:
+      - pd_server
+      - instance
+      host_pd_server:
+      - pd_server
+      - host
+      network.outpoing.packets_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.outpoing.packets
+      forwarder_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - forwarder
+      disk.write.requests.rate_pd_server:
+      - pd_server
+      - disk.write.requests.rate
+      disk.ephemeral.size_pd_server:
+      - pd_server
+      - disk.ephemeral.size
+      disk.write.requests_pd_server:
+      - pd_server
+      - disk.write.requests
+      feature_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - feature
+      disk.device.latency_pd_server:
+      - pd_server
+      - disk.device.latency
+      disk.latency_pd_server:
+      - pd_server
+      - disk.latency
+      disk.device.capacity_pd_server:
+      - pd_server
+      - disk.device.capacity
+      network.outgoing.bytes.rate_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - network.outgoing.bytes.rate
+      disk.device.iops_pd_server:
+      - pd_server
+      - disk.device.iops
+    requirements:
+      local_storage_pd_server:
+      - pd_server
+      - local_storage
+      link_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+      - pd_server_pd01_port_nested
+      - link_template_Vlan_vmi_1
+      link_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - link
+      dependency_pd_server_pd01_port:
+      - pd_server_pd01_port
+      - dependency
+      dependency_pd_server_pd01_port_nested:
+      - pd_server_pd01_port_nested
+      - dependency
+      dependency_pd_server:
+      - pd_server
+      - dependency
+      dependency_template_Vlan_vmi_1_pd_server_pd01_port_nested:
+      - pd_server_pd01_port_nested
+      - dependency_template_Vlan_vmi_1
\ 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/pattern1c2/differentNodesConnectedOut/out/nestedServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentNodesConnectedOut/out/nestedServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..bbc48d7
--- /dev/null
@@ -0,0 +1,119 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    vlan_ids:
+      hidden: false
+      immutable: false
+      type: string
+    p1:
+      hidden: false
+      immutable: false
+      type: string
+    p2:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ipv6_address:
+      hidden: false
+      immutable: false
+      type: string
+    virtual_ip_address:
+      hidden: false
+      immutable: false
+      type: string
+    net2:
+      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: p1
+        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_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested.yml
+        description: cmaui server template for vMMSC
+      members:
+      - template_Vlan_vmi_1
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+    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/pattern1c2/differentResourceGroupCount/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentResourceGroupCount/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..aca75b5
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "vMME_Small",
+  "description": "HOT template to create 2 cinder volume attachment",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "main.yml",
+      "type": "HEAT",
+      "isBase": "true"
+    },
+    {
+      "file": "nested.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/pattern1c2/differentResourceGroupCount/in/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentResourceGroupCount/in/main.yml
new file mode 100644 (file)
index 0000000..b4eb432
--- /dev/null
@@ -0,0 +1,348 @@
+heat_template_version: 2013-05-23
+
+description: >
+  Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+
+parameters:
+  aap_address_mode:
+    description: "Address mode for the vDBE cluster IP"
+    type: string
+  control_int_net_forwarding_mode:
+    description: "forwarding mode of the control virtual network"
+    type: string
+  control_int_net_rpf:
+    description: "Reverse Path Filtering enable or disable for the control virtual network"
+    type: string
+  control_int_net_shared:
+    description: "control virtual network shared"
+    type: boolean
+  control_int_net_flood_unknown_unicast:
+    description: "forwarding mode of the control virtual network"
+    type: boolean
+  oam_net_name:
+    description: "Name of NSDNet network from which the management IP addresses will be allocated"
+    type: string
+  untrusted_net_name:
+    description: "Name of public untrusted network into which this vDBE HA cluster is deployed"
+    type: string
+  untrusted_num_vn:
+    constraints:
+      -
+        range:
+          max: 77
+          min: 1
+    description: "Number of vDBE subinterface virtual Networks"
+    type: number
+  untrusted_vlan_tags:
+    description: "List of subinterface vlan tags"
+    type: comma_delimited_list
+  untrusted_vn_networks:
+    description: "List of subinterface virtual networks"
+    type: comma_delimited_list
+  vdbe_aap_sec_untrusted_ip_prefix:
+    description: "ip prefix for secondary vDBE VM aap on the VAN untrusted network"
+    type: string
+  vdbe_aap_sec_untrusted_ip_prefix_len:
+    description: "ip prefix length for the secondary DBE VM aap on the VAN untrusted network"
+    type: string
+  vdbe_aap_untrusted_ip_prefix:
+    description: "ip prefix for primary vDBE VM on the VAN untrusted network"
+    type: string
+  vdbe_aap_untrusted_ip_prefix_len:
+    description: "ip prefix length for the primary vDBE VM on the VAN untrusted network"
+    type: string
+  vdbe_aap_untrusted_v6_ip_prefix:
+    description: "ipv6 prefix for the primary vDBE VM on the VAN untrusted network"
+    type: string
+  vdbe_aap_untrusted_v6_ip_prefix_len:
+    description: "ipv6 prefix length for the primary vDBE VM on the VAN untrusted network"
+    type: string
+  vdbe_device_name:
+    description: "VDBE device Name for this vdbe VNF"
+    type: string
+  vdbe_hw_untr_mac_1:
+    description: "Secondary MAC address of the secondary vDBE VM on the VAN untrusted network"
+    type: string
+  vdbe_name_1:
+    description: "VM Name for this vdbe node 1"
+    type: string
+  vdbe_untrusted_ip_1:
+    description: "IPV4 address of the secondary vDBE VM on the VAN untrusted network"
+    type: string
+  vdbe_untrusted_v6_ip_1:
+    description: "IPV6 address of the secondary vDBE VM on the VAN untrusted network"
+    type: string
+  vdbe_untrusted_vmac_address:
+    description: "Virtual MAC of the primary vDBE VM on the VAN untrusted network"
+    type: string
+  vdbe_flavor_name:
+    description: "Flavor to use for vDBE"
+    type: string
+  vdbe_image_name:
+    description: "Image to use for vDBE"
+    type: string
+  vnf_id:
+    description: "Unique ID for this VF inst"
+    type: string
+  vnf_name:
+    description: "Unique name for this VF instance"
+    type: string
+  vf_module_id:
+    description: "Unique ID for this VF module inst"
+    type: string
+  availability_zone_1:
+    description: "The availability zone of secondary node1 vDBE vm in the local HA pair."
+    type: string
+  counter:
+    description: "Counter."
+    type: number
+resources:
+  vdbe_node_1:
+    type: OS::Nova::Server
+    properties:
+      availability_zone:
+        get_param: availability_zone_1
+      flavor:
+        get_param: vdbe_flavor_name
+      image:
+        get_param: vdbe_image_name
+      metadata:
+        vf_module_id:
+          get_param: vf_module_id
+        vnf_id:
+          get_param: vnf_id
+        vnf_name:
+          get_param: vnf_name
+      name:
+        get_param: vdbe_name_1
+      networks:
+        - port: {get_resource: vdbe_untr_1_port_1}
+  vdbe_untr_1_port_1:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          params:
+            DBE:
+              get_param: vdbe_device_name
+            VM_NAME:
+              get_param: vdbe_name_1
+          template: VM_NAMEDBE001p1n004
+      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:
+              get_param: aap_address_mode
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
+                get_param: vdbe_aap_untrusted_ip_prefix
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
+                get_param: vdbe_aap_untrusted_ip_prefix_len
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
+              get_param: vdbe_untrusted_vmac_address
+          -
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
+              get_param: aap_address_mode
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
+                get_param: vdbe_aap_sec_untrusted_ip_prefix
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
+                get_param: vdbe_aap_sec_untrusted_ip_prefix_len
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
+              get_param: vdbe_hw_untr_mac_1
+          -
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
+              get_param: aap_address_mode
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
+                get_param: vdbe_aap_untrusted_v6_ip_prefix
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
+                get_param: vdbe_aap_untrusted_v6_ip_prefix_len
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
+              get_param: vdbe_untrusted_vmac_address
+      virtual_machine_interface_mac_addresses:
+        virtual_machine_interface_mac_addresses_mac_address:
+          -
+            get_param: vdbe_hw_untr_mac_1
+      virtual_network_refs:
+        -
+          get_resource: control_int_net
+
+  vdbe_node_2:
+    type: OS::Nova::Server
+    properties:
+      availability_zone:
+        get_param: availability_zone_1
+      flavor:
+        get_param: vdbe_flavor_name
+      image:
+        get_param: vdbe_image_name
+      metadata:
+        vf_module_id:
+          get_param: vf_module_id
+        vnf_id:
+          get_param: vnf_id
+        vnf_name:
+          get_param: vnf_name
+      name:
+        get_param: vdbe_name_1
+      networks:
+        - port: {get_resource: vdbe_untr_1_port_2}
+  vdbe_untr_1_port_2:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          params:
+            DBE:
+              get_param: vdbe_device_name
+            VM_NAME:
+              get_param: vdbe_name_1
+          template: VM_NAMEDBE001p1n004
+      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:
+              get_param: aap_address_mode
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
+                get_param: vdbe_aap_untrusted_ip_prefix
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
+                get_param: vdbe_aap_untrusted_ip_prefix_len
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
+              get_param: vdbe_untrusted_vmac_address
+          -
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
+              get_param: aap_address_mode
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
+                get_param: vdbe_aap_sec_untrusted_ip_prefix
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
+                get_param: vdbe_aap_sec_untrusted_ip_prefix_len
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
+              get_param: vdbe_hw_untr_mac_1
+          -
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
+              get_param: aap_address_mode
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
+                get_param: vdbe_aap_untrusted_v6_ip_prefix
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
+                get_param: vdbe_aap_untrusted_v6_ip_prefix_len
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
+              get_param: vdbe_untrusted_vmac_address
+      virtual_machine_interface_mac_addresses:
+        virtual_machine_interface_mac_addresses_mac_address:
+          -
+            get_param: vdbe_hw_untr_mac_1
+      virtual_network_refs:
+        -
+          get_resource: control_int_net
+
+  vdbe_untr_1_subports:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 2
+      resource_def:
+        type: nested.yml
+        properties:
+          aap_address_mode:
+            get_param: aap_address_mode
+          aap_sec_untrusted_ip_prefix:
+            get_param: vdbe_aap_sec_untrusted_ip_prefix
+          aap_sec_untrusted_ip_prefix_len:
+            get_param: vdbe_aap_sec_untrusted_ip_prefix_len
+          aap_untrusted_ip_prefix:
+            get_param: vdbe_aap_untrusted_ip_prefix
+          aap_untrusted_ip_prefix_len:
+            get_param: vdbe_aap_untrusted_ip_prefix_len
+          aap_untrusted_v6_ip_prefix:
+            get_param: vdbe_aap_untrusted_v6_ip_prefix
+          aap_untrusted_v6_ip_prefix_len:
+            get_param: vdbe_aap_untrusted_v6_ip_prefix_len
+          counter: "%index%"
+          ip_address:
+            get_param: vdbe_untrusted_ip_1
+          ip_v6_address:
+            get_param: vdbe_untrusted_v6_ip_1
+          mac_address:
+            get_param: vdbe_hw_untr_mac_1
+          parent_interface:
+            get_resource: vdbe_untr_1_port_1
+          subinterfaces_name_prefix:
+            str_replace:
+              params:
+                DBE:
+                  get_param: vdbe_device_name
+                VM_NAME:
+                  get_param: vdbe_name_1
+              template: VM_NAMEDBE001p1n004
+          vlan_tag_list:
+            get_param: untrusted_vlan_tags
+          vmac_address:
+            get_param: vdbe_untrusted_vmac_address
+          vn_network_list:
+             get_param: untrusted_vn_networks
+  vdbe_untr_2_subports:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 5
+      resource_def:
+        type: nested.yml
+        properties:
+          aap_address_mode:
+            get_param: aap_address_mode
+          aap_sec_untrusted_ip_prefix:
+            get_param: vdbe_aap_sec_untrusted_ip_prefix
+          aap_sec_untrusted_ip_prefix_len:
+            get_param: vdbe_aap_sec_untrusted_ip_prefix_len
+          aap_untrusted_ip_prefix:
+            get_param: vdbe_aap_untrusted_ip_prefix
+          aap_untrusted_ip_prefix_len:
+            get_param: vdbe_aap_untrusted_ip_prefix_len
+          aap_untrusted_v6_ip_prefix:
+            get_param: vdbe_aap_untrusted_v6_ip_prefix
+          aap_untrusted_v6_ip_prefix_len:
+            get_param: vdbe_aap_untrusted_v6_ip_prefix_len
+          counter:
+            get_param: counter
+          ip_address:
+            get_param: vdbe_untrusted_ip_1
+          ip_v6_address:
+            get_param: vdbe_untrusted_v6_ip_1
+          mac_address:
+            get_param: vdbe_hw_untr_mac_1
+          parent_interface:
+            get_resource: vdbe_untr_1_port_2
+          subinterfaces_name_prefix:
+            str_replace:
+              params:
+                DBE:
+                  get_param: vdbe_device_name
+                VM_NAME:
+                  get_param: vdbe_name_1
+              template: VM_NAMEDBE001p1n004
+          vlan_tag_list:
+            get_param: untrusted_vlan_tags
+          vmac_address:
+            get_param: vdbe_untrusted_vmac_address
+          vn_network_list:
+             get_param: untrusted_vn_networks
+  control_int_net:
+    type: OS::ContrailV2::VirtualNetwork
+    properties:
+      flood_unknown_unicast:
+        get_param: control_int_net_flood_unknown_unicast
+      is_shared:
+        get_param: control_int_net_shared
+      name:
+        str_replace:
+          params:
+            VNF_NAME:
+              get_param: vnf_name
+          template: VNF_NAME_control_net
+      virtual_network_properties:
+        virtual_network_properties_forwarding_mode:
+          get_param: control_int_net_forwarding_mode
+        virtual_network_properties_rpf:
+          get_param: control_int_net_rpf
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentResourceGroupCount/in/nested.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentResourceGroupCount/in/nested.yml
new file mode 100644 (file)
index 0000000..4462e24
--- /dev/null
@@ -0,0 +1,116 @@
+heat_template_version: 2013-05-23
+
+description: cmaui server template for vMMSC
+
+parameters:
+  aap_address_mode:
+    description: "Address mode for the vDBE cluster IP"
+    type: string
+  aap_sec_untrusted_ip_prefix:
+    description: "ip prefix for secondary vDBE VM aap on the VAN untrusted network"
+    type: string
+  aap_sec_untrusted_ip_prefix_len:
+    description: "ip prefix length for the secondary DBE VM aap on the VAN untrusted network"
+    type: string
+  aap_untrusted_ip_prefix:
+    description: "ip prefix for primary vDBE VM on the VAN untrusted network"
+    type: string
+  aap_untrusted_ip_prefix_len:
+    description: "ip prefix length for the primary vDBE VM on the VAN untrusted network"
+    type: string
+  aap_untrusted_v6_ip_prefix:
+    description: "ipv6 prefix for the primary vDBE VM on the VAN untrusted network"
+    type: string
+  aap_untrusted_v6_ip_prefix_len:
+    description: "ipv6 prefix length for the primary vDBE VM on the VAN untrusted network"
+    type: string
+  counter:
+    description: "Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances."
+    type: number
+  mac_address:
+    description: "HW MAC address to use for subinterface"
+    type: string
+  parent_interface:
+    description: "Parent Contrail interface"
+    type: string
+  subinterfaces_name_prefix:
+    description: "Combined with subinterface_instance_index, this is used as the name of the subinterface resource"
+    type: string
+  vlan_tag_list:
+    description: "List of VLAN IDs to use for subinterfaces"
+    type: comma_delimited_list
+  vmac_address:
+    description: "virtual MAC address to use for subinterface"
+    type: string
+  vn_network_list:
+    description: "List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list"
+    type: string
+  ip_address:
+    description: "IPv4 address associated with subinterfaces"
+    type: string
+  ip_v6_address:
+    description: "IPv6 address associated with subinterfaces"
+    type: string
+resources:
+  vdbe_untr_x_subport:
+    type: OS::ContrailV2::VirtualMachineInterface
+    properties:
+      name:
+        str_replace:
+          params:
+            $INDEX:
+              get_param:
+                - vlan_tag_list
+                -
+                  get_param: counter
+            $NAME:
+              get_param: subinterfaces_name_prefix
+          template: $NAME_$INDEX
+      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:
+              get_param: aap_address_mode
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
+                get_param: aap_untrusted_ip_prefix
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
+                get_param: aap_untrusted_ip_prefix_len
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
+              get_param: vmac_address
+          -
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
+              get_param: aap_address_mode
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
+                get_param: aap_sec_untrusted_ip_prefix
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
+                get_param: aap_sec_untrusted_ip_prefix_len
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
+              get_param: mac_address
+          -
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
+              get_param: aap_address_mode
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
+                get_param: aap_untrusted_v6_ip_prefix
+              virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
+                get_param: aap_untrusted_v6_ip_prefix_len
+            virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
+              get_param: vmac_address
+      virtual_machine_interface_mac_addresses:
+        virtual_machine_interface_mac_addresses_mac_address:
+          -
+            get_param: mac_address
+      virtual_machine_interface_properties:
+        virtual_machine_interface_properties_sub_interface_vlan_tag:
+          get_param:
+            - vlan_tag_list
+            -
+              get_param: counter
+      virtual_machine_interface_refs:
+          [{get_param: parent_interface}]
+      virtual_network_refs:
+          [{get_param: vn_network_list}]
+
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentResourceGroupCount/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentResourceGroupCount/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..b4b3551
--- /dev/null
@@ -0,0 +1,682 @@
+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.vdbe:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      subinterface_nested_parent_interface:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_address_mode:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vlan_tag_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      compute_vdbe_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_sec_untrusted_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_aap_untrusted_v6_ip_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      subinterface_nested_mac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_network_refs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_vdbe_untr_1_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      subinterface_nested_ip_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_ip_v6_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_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
+      subinterface_nested_vmac_address:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_vn_network_list:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        required: true
+        status: SUPPORTED
+      subinterface_nested_aap_untrusted_ip_prefix_len:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subinterface_nested_counter:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_nested_subinterfaces_name_prefix:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_vdbe_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_vdbe_untr_1_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_vdbe_untr_1_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+    requirements:
+    - dependency_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_vdbe:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_vdbe:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_vdbe_untr_1_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.ephemeral.size_vdbe:
+        type: org.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_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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.allocation_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.bytes.rate_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe_vdbe_untr_1_port:
+        type: org.openecomp.capabilities.Forwarder
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_vdbe_vdbe_untr_1_port_nested:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_vdbe:
+        type: org.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.capabilities.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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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_vdbe:
+        type: org.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_vdbe:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes_vdbe:
+        type: org.openecomp.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_vdbe_vdbe_untr_1_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_vdbe:
+        type: org.openecomp.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_vdbe:
+        type: org.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:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      aap_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_sec_untrusted_ip_prefix:
+        type: string
+        description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      ip_v6_address:
+        type: string
+        description: IPv6 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      counter:
+        type: float
+        description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+        required: true
+        status: SUPPORTED
+      subinterfaces_name_prefix:
+        type: string
+        description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+        required: true
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IPv4 address associated with subinterfaces
+        required: true
+        status: SUPPORTED
+      aap_address_mode:
+        type: string
+        description: Address mode for the vDBE cluster IP
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix:
+        type: string
+        description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      parent_interface:
+        type: string
+        description: Parent Contrail interface
+        required: true
+        status: SUPPORTED
+      vn_network_list:
+        type: string
+        description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+        required: true
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: HW MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      vlan_tag_list:
+        type: list
+        description: List of VLAN IDs to use for subinterfaces
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      aap_sec_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      vmac_address:
+        type: string
+        description: virtual MAC address to use for subinterface
+        required: true
+        status: SUPPORTED
+      aap_untrusted_v6_ip_prefix_len:
+        type: string
+        description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+      aap_untrusted_ip_prefix_len:
+        type: string
+        description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_vdbe_untr_x_subport:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - binding_vdbe_untr_x_subport:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      feature_vdbe_untr_x_subport:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
\ 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/pattern1c2/differentResourceGroupCount/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentResourceGroupCount/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..4ef81bd
--- /dev/null
@@ -0,0 +1,589 @@
+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:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF module inst
+    control_int_net_rpf:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_rpf
+      type: string
+      description: Reverse Path Filtering enable or disable for the control virtual network
+    control_int_net_forwarding_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_forwarding_mode
+      type: string
+      description: forwarding mode of the control virtual network
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vdbe_untrusted_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_ip_1
+      type: string
+      description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
+    aap_address_mode:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: aap_address_mode
+      type: string
+      description: Address mode for the vDBE cluster IP
+    control_int_net_shared:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_shared
+      type: boolean
+      description: control virtual network shared
+    vdbe_untrusted_v6_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_v6_ip_1
+      type: string
+      description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
+    vdbe_untrusted_vmac_address:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_untrusted_vmac_address
+      type: string
+      description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
+    control_int_net_flood_unknown_unicast:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: control_int_net_flood_unknown_unicast
+      type: boolean
+      description: forwarding mode of the control virtual network
+    vdbe_aap_sec_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix
+      type: string
+      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF inst
+    vdbe_name_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_name_1
+      type: string
+      description: VM Name for this vdbe node 1
+    availability_zone_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: availability_zone_1
+      type: string
+      description: The availability zone of secondary node1 vDBE vm in the local HA pair.
+    untrusted_vn_networks:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vn_networks
+      type: list
+      description: List of subinterface virtual networks
+      entry_schema:
+        type: string
+    vdbe_image_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_image_name
+      type: string
+      description: Image to use for vDBE
+    oam_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: oam_net_name
+      type: string
+      description: Name of NSDNet network from which the management IP addresses will be allocated
+    vdbe_aap_sec_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_sec_untrusted_ip_prefix_len
+      type: string
+      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix
+      type: string
+      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+    vdbe_aap_untrusted_v6_ip_prefix_len:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_v6_ip_prefix_len
+      type: string
+      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_vlan_tags:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_vlan_tags
+      type: list
+      description: List of subinterface vlan tags
+      entry_schema:
+        type: string
+    vdbe_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_flavor_name
+      type: string
+      description: Flavor to use for vDBE
+    counter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: counter
+      type: float
+      description: Counter.
+    vdbe_hw_untr_mac_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_hw_untr_mac_1
+      type: string
+      description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
+    untrusted_net_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_net_name
+      type: string
+      description: Name of public untrusted network into which this vDBE HA cluster is deployed
+    vdbe_device_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_device_name
+      type: string
+      description: VDBE device Name for this vdbe VNF
+    vdbe_aap_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: vdbe_aap_untrusted_ip_prefix
+      type: string
+      description: ip prefix for primary vDBE VM on the VAN untrusted network
+  node_templates:
+    abstract_vdbe_0:
+      type: org.openecomp.resource.abstract.nodes.vdbe
+      directives:
+      - substitutable
+      properties:
+        subinterface_nested_parent_interface:
+        - vdbe_untr_1_port_1
+        subinterface_nested_aap_address_mode:
+        - get_input: aap_address_mode
+        subinterface_nested_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        compute_vdbe_availability_zone:
+        - get_input: availability_zone_1
+        subinterface_nested_service_template_filter_count:
+        - 2
+        subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        vm_flavor_name:
+          get_input: vdbe_flavor_name
+        subinterface_nested_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        vm_image_name:
+          get_input: vdbe_image_name
+        subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_nested_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        subinterface_nested_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        compute_vdbe_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        subinterface_nested_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        port_vdbe_untr_1_port_virtual_network_refs:
+        - - control_int_net
+        subinterface_nested_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        subinterface_nested_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_nested_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        subinterface_nested_vn_network_list:
+        - get_input: untrusted_vn_networks
+        port_vdbe_untr_1_port_name:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_nested_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_nested_counter:
+        - get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+        subinterface_nested_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        compute_vdbe_name:
+        - get_input: vdbe_name_1
+        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        service_template_filter:
+          substitute_service_template: Nested_vdbeServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_vdbe_vdbe_untr_1_port:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          relationship: tosca.relationships.network.LinksTo
+    control_int_net:
+      type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+      properties:
+        network_name:
+          str_replace:
+            template: VNF_NAME_control_net
+            params:
+              VNF_NAME:
+                get_input: vnf_name
+    abstract_vdbe_1:
+      type: org.openecomp.resource.abstract.nodes.vdbe
+      directives:
+      - substitutable
+      properties:
+        subinterface_nested_parent_interface:
+        - vdbe_untr_1_port_2
+        subinterface_nested_aap_address_mode:
+        - get_input: aap_address_mode
+        subinterface_nested_vlan_tag_list:
+        - get_input: untrusted_vlan_tags
+        compute_vdbe_availability_zone:
+        - get_input: availability_zone_1
+        subinterface_nested_service_template_filter_count:
+        - 5
+        subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
+        vm_flavor_name:
+          get_input: vdbe_flavor_name
+        subinterface_nested_aap_untrusted_ip_prefix:
+        - get_input: vdbe_aap_untrusted_ip_prefix
+        vm_image_name:
+          get_input: vdbe_image_name
+        subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
+        subinterface_nested_aap_sec_untrusted_ip_prefix:
+        - get_input: vdbe_aap_sec_untrusted_ip_prefix
+        subinterface_nested_aap_untrusted_v6_ip_prefix:
+        - get_input: vdbe_aap_untrusted_v6_ip_prefix
+        compute_vdbe_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+        subinterface_nested_mac_address:
+        - get_input: vdbe_hw_untr_mac_1
+        port_vdbe_untr_1_port_virtual_network_refs:
+        - - control_int_net
+        subinterface_nested_ip_address:
+        - get_input: vdbe_untrusted_ip_1
+        subinterface_nested_ip_v6_address:
+        - get_input: vdbe_untrusted_v6_ip_1
+        subinterface_nested_vmac_address:
+        - get_input: vdbe_untrusted_vmac_address
+        subinterface_nested_vn_network_list:
+        - get_input: untrusted_vn_networks
+        port_vdbe_untr_1_port_name:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        subinterface_nested_aap_untrusted_ip_prefix_len:
+        - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_nested_counter:
+        - get_input: counter
+        subinterface_nested_subinterfaces_name_prefix:
+        - str_replace:
+            template: VM_NAMEDBE001p1n004
+            params:
+              DBE:
+                get_input: vdbe_device_name
+              VM_NAME:
+                get_input: vdbe_name_1
+        compute_vdbe_name:
+        - get_input: vdbe_name_1
+        port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+        - - get_input: vdbe_hw_untr_mac_1
+        service_template_filter:
+          substitute_service_template: Nested_vdbeServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_vdbe_vdbe_untr_1_port:
+          capability: tosca.capabilities.network.Linkable
+          node: control_int_net
+          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:
+      - control_int_net
+      - abstract_vdbe_0
+      - abstract_vdbe_1
\ 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/pattern1c2/differentResourceGroupCount/out/Nested_vdbeServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentResourceGroupCount/out/Nested_vdbeServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..ab5c047
--- /dev/null
@@ -0,0 +1,500 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_vdbe
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    subinterface_nested_parent_interface:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_address_mode:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vlan_tag_list:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    compute_vdbe_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_aap_untrusted_v6_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    subinterface_nested_aap_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_image_name:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_network_role:
+      type: string
+      required: true
+    subinterface_nested_aap_sec_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_sec_untrusted_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_aap_untrusted_v6_ip_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    subinterface_nested_mac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_network_refs:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_vdbe_untr_1_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    subinterface_nested_ip_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_ip_v6_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_vdbe_untr_1_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
+    subinterface_nested_vmac_address:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_vn_network_list:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_vdbe_untr_1_port_subnetpoolid:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs:
+      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+      required: true
+    subinterface_nested_aap_untrusted_ip_prefix_len:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    subinterface_nested_counter:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_nested_subinterfaces_name_prefix:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_vdbe_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_vdbe_untr_1_port_network_role_tag:
+      type: string
+      required: true
+    port_vdbe_untr_1_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+  node_templates:
+    vdbe_vdbe_untr_1_port_nested:
+      type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+      directives:
+      - substitutable
+      properties:
+        aap_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix
+          - index_value
+        aap_sec_untrusted_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix
+          - index_value
+        ip_v6_address:
+          get_input:
+          - subinterface_nested_ip_v6_address
+          - index_value
+        counter:
+          get_input:
+          - subinterface_nested_counter
+          - index_value
+        ip_address:
+          get_input:
+          - subinterface_nested_ip_address
+          - index_value
+        subinterfaces_name_prefix:
+          get_input:
+          - subinterface_nested_subinterfaces_name_prefix
+          - index_value
+        aap_address_mode:
+          get_input:
+          - subinterface_nested_aap_address_mode
+          - index_value
+        service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
+          mandatory: true
+        aap_untrusted_v6_ip_prefix:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix
+          - index_value
+        parent_interface:
+          get_input:
+          - subinterface_nested_parent_interface
+          - index_value
+        vn_network_list:
+          get_input:
+          - subinterface_nested_vn_network_list
+          - index_value
+        mac_address:
+          get_input:
+          - subinterface_nested_mac_address
+          - index_value
+        vlan_tag_list:
+          get_input:
+          - subinterface_nested_vlan_tag_list
+          - index_value
+        aap_sec_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_sec_untrusted_ip_prefix_len
+          - index_value
+        vmac_address:
+          get_input:
+          - subinterface_nested_vmac_address
+          - index_value
+        aap_untrusted_v6_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_v6_ip_prefix_len
+          - index_value
+        aap_untrusted_ip_prefix_len:
+          get_input:
+          - subinterface_nested_aap_untrusted_ip_prefix_len
+          - index_value
+      requirements:
+      - binding_vdbe_untr_x_subport:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe_vdbe_untr_1_port
+          relationship: tosca.relationships.network.BindsTo
+    vdbe:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
+      properties:
+        availability_zone:
+          get_input:
+          - compute_vdbe_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_vdbe_metadata
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_vdbe_name
+          - index_value
+    vdbe_vdbe_untr_1_port:
+      type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+      properties:
+        mac_requirements:
+          get_input: port_vdbe_untr_1_port_mac_requirements
+        order:
+          get_input: port_vdbe_untr_1_port_order
+        exCP_naming:
+          get_input: port_vdbe_untr_1_port_exCP_naming
+        virtual_machine_interface_allowed_address_pairs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_allowed_address_pairs
+          - index_value
+        vlan_requirements:
+          get_input: port_vdbe_untr_1_port_vlan_requirements
+        virtual_network_refs:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_network_refs
+          - index_value
+        ip_requirements:
+          get_input: port_vdbe_untr_1_port_ip_requirements
+        network_role_tag:
+          get_input: port_vdbe_untr_1_port_network_role_tag
+        virtual_machine_interface_mac_addresses:
+          get_input:
+          - port_vdbe_untr_1_port_virtual_machine_interface_mac_addresses
+          - index_value
+        network_role:
+          get_input: port_vdbe_untr_1_port_network_role
+        subnetpoolid:
+          get_input: port_vdbe_untr_1_port_subnetpoolid
+        name:
+          get_input:
+          - port_vdbe_untr_1_port_name
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vdbe
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.vdbe
+    capabilities:
+      feature_vdbe:
+      - vdbe
+      - feature
+      disk.device.iops_vdbe:
+      - vdbe
+      - disk.device.iops
+      endpoint_vdbe:
+      - vdbe
+      - endpoint
+      disk.ephemeral.size_vdbe:
+      - vdbe
+      - disk.ephemeral.size
+      feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - feature_vdbe_untr_x_subport
+      cpu_util_vdbe:
+      - vdbe
+      - cpu_util
+      vcpus_vdbe:
+      - vdbe
+      - vcpus
+      disk.write.requests_vdbe:
+      - vdbe
+      - disk.write.requests
+      disk.device.latency_vdbe:
+      - vdbe
+      - disk.device.latency
+      disk.device.write.requests.rate_vdbe:
+      - vdbe
+      - disk.device.write.requests.rate
+      feature_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - feature
+      disk.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.write.bytes.rate
+      network.incoming.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes.rate
+      network.incoming.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets.rate
+      scalable_vdbe:
+      - vdbe
+      - scalable
+      disk.iops_vdbe:
+      - vdbe
+      - disk.iops
+      disk.device.write.requests_vdbe:
+      - vdbe
+      - disk.device.write.requests
+      disk.device.capacity_vdbe:
+      - vdbe
+      - disk.device.capacity
+      network.outgoing.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes
+      disk.device.allocation_vdbe:
+      - vdbe
+      - disk.device.allocation
+      disk.usage_vdbe:
+      - vdbe
+      - disk.usage
+      memory.usage_vdbe:
+      - vdbe
+      - memory.usage
+      disk.read.requests_vdbe:
+      - vdbe
+      - disk.read.requests
+      network.incoming.bytes_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.bytes
+      instance_vdbe:
+      - vdbe
+      - instance
+      cpu.delta_vdbe:
+      - vdbe
+      - cpu.delta
+      binding_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - binding
+      disk.device.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.read.bytes.rate
+      disk.device.write.bytes.rate_vdbe:
+      - vdbe
+      - disk.device.write.bytes.rate
+      memory.resident_vdbe:
+      - vdbe
+      - memory.resident
+      forwarder_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - forwarder
+      feature_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - feature
+      disk.write.requests.rate_vdbe:
+      - vdbe
+      - disk.write.requests.rate
+      cpu_vdbe:
+      - vdbe
+      - cpu
+      disk.write.bytes_vdbe:
+      - vdbe
+      - disk.write.bytes
+      disk.device.usage_vdbe:
+      - vdbe
+      - disk.device.usage
+      disk.device.read.bytes_vdbe:
+      - vdbe
+      - disk.device.read.bytes
+      disk.latency_vdbe:
+      - vdbe
+      - disk.latency
+      network.outgoing.packets.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.packets.rate
+      disk.capacity_vdbe:
+      - vdbe
+      - disk.capacity
+      host_vdbe:
+      - vdbe
+      - host
+      disk.allocation_vdbe:
+      - vdbe
+      - disk.allocation
+      network.outpoing.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outpoing.packets
+      network.incoming.packets_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.incoming.packets
+      disk.read.bytes.rate_vdbe:
+      - vdbe
+      - disk.read.bytes.rate
+      os_vdbe:
+      - vdbe
+      - os
+      disk.device.read.requests_vdbe:
+      - vdbe
+      - disk.device.read.requests
+      disk.root.size_vdbe:
+      - vdbe
+      - disk.root.size
+      memory_vdbe:
+      - vdbe
+      - memory
+      binding_vdbe:
+      - vdbe
+      - binding
+      disk.device.write.bytes_vdbe:
+      - vdbe
+      - disk.device.write.bytes
+      network.outgoing.bytes.rate_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - network.outgoing.bytes.rate
+      disk.device.read.requests.rate_vdbe:
+      - vdbe
+      - disk.device.read.requests.rate
+      disk.read.bytes_vdbe:
+      - vdbe
+      - disk.read.bytes
+    requirements:
+      link_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - link_vdbe_untr_x_subport
+      dependency_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - dependency
+      local_storage_vdbe:
+      - vdbe
+      - local_storage
+      dependency_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - dependency_vdbe_untr_x_subport
+      dependency_vdbe_vdbe_untr_1_port_nested:
+      - vdbe_vdbe_untr_1_port_nested
+      - dependency
+      link_vdbe_vdbe_untr_1_port:
+      - vdbe_vdbe_untr_1_port
+      - link
+      dependency_vdbe:
+      - vdbe
+      - dependency
\ 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/pattern1c2/differentResourceGroupCount/out/nestedServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c2/differentResourceGroupCount/out/nestedServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..adfc50f
--- /dev/null
@@ -0,0 +1,171 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: nested
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+  inputs:
+    aap_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      type: string
+      description: ip prefix for primary vDBE VM on the VAN untrusted network
+    aap_sec_untrusted_ip_prefix:
+      hidden: false
+      immutable: false
+      type: string
+      description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
+    ip_v6_address:
+      hidden: false
+      immutable: false
+      type: string
+      description: IPv6 address associated with subinterfaces
+    counter:
+      hidden: false
+      immutable: false
+      type: float
+      description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+    subinterfaces_name_prefix:
+      hidden: false
+      immutable: false
+      type: string
+      description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+    ip_address:
+      hidden: false
+      immutable: false
+      type: string
+      description: IPv4 address associated with subinterfaces
+    aap_address_mode:
+      hidden: false
+      immutable: false
+      type: string
+      description: Address mode for the vDBE cluster IP
+    aap_untrusted_v6_ip_prefix:
+      hidden: false
+      immutable: false
+      type: string
+      description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
+    parent_interface:
+      hidden: false
+      immutable: false
+      type: string
+      description: Parent Contrail interface
+    vn_network_list:
+      hidden: false
+      immutable: false
+      type: string
+      description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
+    mac_address:
+      hidden: false
+      immutable: false
+      type: string
+      description: HW MAC address to use for subinterface
+    vlan_tag_list:
+      hidden: false
+      immutable: false
+      type: list
+      description: List of VLAN IDs to use for subinterfaces
+      entry_schema:
+        type: string
+    aap_sec_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      type: string
+      description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
+    vmac_address:
+      hidden: false
+      immutable: false
+      type: string
+      description: virtual MAC address to use for subinterface
+    aap_untrusted_v6_ip_prefix_len:
+      hidden: false
+      immutable: false
+      type: string
+      description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
+    aap_untrusted_ip_prefix_len:
+      hidden: false
+      immutable: false
+      type: string
+      description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+  node_templates:
+    vdbe_untr_x_subport:
+      type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      properties:
+        virtual_machine_interface_refs:
+        - get_input: parent_interface
+        name:
+          str_replace:
+            template: $NAME_$INDEX
+            params:
+              $NAME:
+                get_input: subinterfaces_name_prefix
+              $INDEX:
+                get_input:
+                - vlan_tag_list
+                - get_input: counter
+        virtual_network_refs:
+        - get_input: vn_network_list
+        virtual_machine_interface_properties:
+          sub_interface_vlan_tag:
+            get_input:
+            - vlan_tag_list
+            - get_input: counter
+        virtual_machine_interface_allowed_address_pairs:
+          allowed_address_pair:
+          - address_mode:
+              get_input: aap_address_mode
+            ip:
+              ip_prefix:
+                get_input: aap_untrusted_ip_prefix
+              ip_prefix_len:
+                get_input: aap_untrusted_ip_prefix_len
+            mac:
+              get_input: vmac_address
+          - address_mode:
+              get_input: aap_address_mode
+            ip:
+              ip_prefix:
+                get_input: aap_sec_untrusted_ip_prefix
+              ip_prefix_len:
+                get_input: aap_sec_untrusted_ip_prefix_len
+            mac:
+              get_input: mac_address
+          - address_mode:
+              get_input: aap_address_mode
+            ip:
+              ip_prefix:
+                get_input: aap_untrusted_v6_ip_prefix
+              ip_prefix_len:
+                get_input: aap_untrusted_v6_ip_prefix_len
+            mac:
+              get_input: vmac_address
+        virtual_machine_interface_mac_addresses:
+          mac_address:
+          - get_input: mac_address
+  groups:
+    nested_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/nested.yml
+        description: cmaui server template for vMMSC
+      members:
+      - vdbe_untr_x_subport
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested
+    capabilities:
+      feature_vdbe_untr_x_subport:
+      - vdbe_untr_x_subport
+      - feature
+    requirements:
+      link_vdbe_untr_x_subport:
+      - vdbe_untr_x_subport
+      - link
+      dependency_vdbe_untr_x_subport:
+      - vdbe_untr_x_subport
+      - dependency
+      binding_vdbe_untr_x_subport:
+      - vdbe_untr_x_subport
+      - binding
\ No newline at end of file
index f9890d3..14560c5 100644 (file)
@@ -1091,6 +1091,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: org.openecomp.datatypes.network.IpRequirements
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       port_pd_server_2b_port_order:
         type: integer
         required: true
@@ -2238,4 +2244,4 @@ node_types:
         type: tosca.capabilities.Node
         occurrences:
         - 1
-        - UNBOUNDED
+        - UNBOUNDED
\ No newline at end of file
index ee574e9..c993f98 100644 (file)
@@ -79,6 +79,11 @@ topology_template:
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.IpRequirements
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     port_pd_server_2b_port_order:
       type: integer
       required: true
@@ -173,8 +178,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
@@ -471,4 +479,4 @@ topology_template:
       - link
       dependency_pd_server_1b_pd_server_1b_port:
       - pd_server_1b_pd_server_1b_port
-      - dependency
+      - dependency
\ No newline at end of file
index 0a67728..03622d2 100644 (file)
@@ -910,6 +910,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -1944,4 +1950,4 @@ node_types:
         type: tosca.capabilities.Node
         occurrences:
         - 1
-        - UNBOUNDED
+        - UNBOUNDED
\ No newline at end of file
index 9bea96b..057aac8 100644 (file)
@@ -16,6 +16,11 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -94,8 +99,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
@@ -350,4 +358,4 @@ topology_template:
       - dependency_template_Vlan_vmi_1
       dependency_pd_server_1b_pd_server_1b_port:
       - pd_server_1b_pd_server_1b_port
-      - dependency
+      - dependency
\ No newline at end of file
index 4b63486..8d11461 100644 (file)
@@ -1267,6 +1267,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -2569,6 +2575,12 @@ node_types:
         type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       port_ps_server_1b_port_network_role_tag:
         type: string
         required: true
@@ -3090,4 +3102,4 @@ node_types:
         type: tosca.capabilities.Node
         occurrences:
         - 1
-        - UNBOUNDED
+        - UNBOUNDED
\ No newline at end of file
index 9bea96b..057aac8 100644 (file)
@@ -16,6 +16,11 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -94,8 +99,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
@@ -350,4 +358,4 @@ topology_template:
       - dependency_template_Vlan_vmi_1
       dependency_pd_server_1b_pd_server_1b_port:
       - pd_server_1b_pd_server_1b_port
-      - dependency
+      - dependency
\ No newline at end of file
index 5c43ad9..855e842 100644 (file)
@@ -19,6 +19,11 @@ topology_template:
     port_ps_server_1b_port_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     port_ps_server_1b_port_network_role_tag:
       type: string
       required: true
@@ -109,8 +114,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
@@ -350,4 +358,4 @@ topology_template:
       - link_template_Vlan_vmi_1
       dependency_ps_server_1b:
       - ps_server_1b
-      - dependency
+      - dependency
\ No newline at end of file
index 91bd0bc..d02dbd0 100644 (file)
@@ -85,6 +85,9 @@ topology_template:
         port_ps_server_1b_port_mac_requirements:
           mac_count_required:
             is_required: false
+        subinterface_nested_vlan_service_template_filter_count:
+        - 9
+        - 9
         port_ps_server_1b_port_fixed_ips:
         - - ip_address:
               get_input:
index 9d200a9..7a7adb6 100644 (file)
@@ -841,6 +841,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -1848,4 +1854,4 @@ node_types:
         type: tosca.capabilities.Node
         occurrences:
         - 1
-        - UNBOUNDED
+        - UNBOUNDED
\ No newline at end of file
index 9bea96b..057aac8 100644 (file)
@@ -16,6 +16,11 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -94,8 +99,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
@@ -350,4 +358,4 @@ topology_template:
       - dependency_template_Vlan_vmi_1
       dependency_pd_server_1b_pd_server_1b_port:
       - pd_server_1b_pd_server_1b_port
-      - dependency
+      - dependency
\ No newline at end of file
index 58879ff..418a181 100644 (file)
@@ -14,6 +14,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -2429,6 +2435,12 @@ node_types:
         type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       port_ps_server_1b_port_network_role_tag:
         type: string
         required: true
@@ -2950,4 +2962,4 @@ node_types:
         type: tosca.capabilities.Node
         occurrences:
         - 1
-        - UNBOUNDED
+        - UNBOUNDED
\ No newline at end of file
index 08292dc..d0798c5 100644 (file)
@@ -16,6 +16,11 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -94,8 +99,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
@@ -350,4 +358,4 @@ topology_template:
       - dependency_template_Vlan_vmi_1
       dependency_pd_server_1b_pd_server_1b_port:
       - pd_server_1b_pd_server_1b_port
-      - dependency
+      - dependency
\ No newline at end of file
index 5c43ad9..855e842 100644 (file)
@@ -19,6 +19,11 @@ topology_template:
     port_ps_server_1b_port_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     port_ps_server_1b_port_network_role_tag:
       type: string
       required: true
@@ -109,8 +114,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
@@ -350,4 +358,4 @@ topology_template:
       - link_template_Vlan_vmi_1
       dependency_ps_server_1b:
       - ps_server_1b
-      - dependency
+      - dependency
\ No newline at end of file
index 040c441..f0406ad 100644 (file)
@@ -871,6 +871,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -1396,4 +1402,4 @@ node_types:
         type: tosca.capabilities.Node
         occurrences:
         - 1
-        - UNBOUNDED
+        - UNBOUNDED
\ No newline at end of file
index 9bea96b..057aac8 100644 (file)
@@ -16,6 +16,11 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -94,8 +99,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
@@ -350,4 +358,4 @@ topology_template:
       - dependency_template_Vlan_vmi_1
       dependency_pd_server_1b_pd_server_1b_port:
       - pd_server_1b_pd_server_1b_port
-      - dependency
+      - dependency
\ No newline at end of file
index 5edb4bf..b1b333c 100644 (file)
@@ -1243,6 +1243,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -2947,6 +2953,12 @@ node_types:
         type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       port_ps_server_1b_port_network_role_tag:
         type: string
         required: true
@@ -3468,4 +3480,4 @@ node_types:
         type: tosca.capabilities.Node
         occurrences:
         - 1
-        - UNBOUNDED
+        - UNBOUNDED
\ No newline at end of file
index 9bea96b..057aac8 100644 (file)
@@ -16,6 +16,11 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -94,8 +99,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
@@ -350,4 +358,4 @@ topology_template:
       - dependency_template_Vlan_vmi_1
       dependency_pd_server_1b_pd_server_1b_port:
       - pd_server_1b_pd_server_1b_port
-      - dependency
+      - dependency
\ No newline at end of file
index 5c43ad9..855e842 100644 (file)
@@ -19,6 +19,11 @@ topology_template:
     port_ps_server_1b_port_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     port_ps_server_1b_port_network_role_tag:
       type: string
       required: true
@@ -109,8 +114,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
@@ -350,4 +358,4 @@ topology_template:
       - link_template_Vlan_vmi_1
       dependency_ps_server_1b:
       - ps_server_1b
-      - dependency
+      - dependency
\ No newline at end of file
index 8cf3f5d..4b1d400 100644 (file)
@@ -136,6 +136,8 @@ topology_template:
         port_ps_server_1b_port_mac_requirements:
           mac_count_required:
             is_required: false
+        subinterface_nested_vlan_service_template_filter_count:
+        - 9
         port_ps_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
index f955a57..8333788 100644 (file)
@@ -1267,6 +1267,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -2569,6 +2575,12 @@ node_types:
         type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
+      subinterface_nested_vlan_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       port_ps_server_1b_port_network_role_tag:
         type: string
         required: true
index 629fdb2..7187e41 100644 (file)
@@ -16,6 +16,11 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -94,8 +99,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 9
           mandatory: true
         parent_interface:
           get_input:
index 3b19af8..c76668e 100644 (file)
@@ -19,6 +19,11 @@ topology_template:
     port_ps_server_1b_port_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
+    subinterface_nested_vlan_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     port_ps_server_1b_port_network_role_tag:
       type: string
       required: true
@@ -109,8 +114,11 @@ topology_template:
       - substitutable
       properties:
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_vlan_service_template_filter_count
+            - index_value
           substitute_service_template: nested_vlanServiceTemplate.yaml
-          count: 19
           mandatory: true
         parent_interface:
           get_input:
index 616e93e..794867e 100644 (file)
@@ -81,6 +81,8 @@ topology_template:
         port_ps_server_1b_port_mac_requirements:
           mac_count_required:
             is_required: false
+        subinterface_nested_vlan_service_template_filter_count:
+        - 9
         port_ps_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
@@ -150,6 +152,8 @@ topology_template:
         port_ps_server_1b_port_mac_requirements:
           mac_count_required:
             is_required: false
+        subinterface_nested_vlan_service_template_filter_count:
+        - 19
         port_ps_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
index 61f7cc7..97718e0 100644 (file)
@@ -68,15 +68,6 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      untrusted_num_vn:
-        type: float
-        description: Number of vDBE subinterface virtual Networks
-        required: true
-        status: SUPPORTED
-        constraints:
-        - in_range:
-          - 1
-          - 77
       port_vdbe_untr_port_order:
         type: integer
         required: true
@@ -161,6 +152,18 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      subinterface_vdbe_untr_2_subports_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
+      subinterface_vdbe_untr_1_subports_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       subinterface_vdbe_untr_1_subports_vn_network_list:
         type: list
         required: true
index f09a443..e7c838a 100644 (file)
@@ -86,6 +86,23 @@ topology_template:
             param_name: vdbe_aap_untrusted_ip_prefix_len
       type: string
       description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
     aap_address_mode:
       hidden: false
       immutable: false
@@ -451,6 +468,10 @@ topology_template:
             is_required: false
         subinterface_vdbe_untr_1_subports_parent_interface:
         - vdbe_1_untr_port_1
+        subinterface_vdbe_untr_2_subports_service_template_filter_count:
+        - 5
+        subinterface_vdbe_untr_1_subports_service_template_filter_count:
+        - get_input: untrusted_num_vn
         subinterface_vdbe_untr_1_subports_vn_network_list:
         - get_input: untrusted_vn_networks
         port_vdbe_untr_port_name:
index b0ccbfa..c5e13a1 100644 (file)
@@ -60,15 +60,6 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    untrusted_num_vn:
-      hidden: false
-      immutable: false
-      type: float
-      description: Number of vDBE subinterface virtual Networks
-      constraints:
-      - in_range:
-        - 1
-        - 77
     port_vdbe_untr_port_order:
       type: integer
       required: true
@@ -138,6 +129,16 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    subinterface_vdbe_untr_2_subports_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
+    subinterface_vdbe_untr_1_subports_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     subinterface_vdbe_untr_1_subports_vn_network_list:
       type: list
       required: true
@@ -272,9 +273,11 @@ topology_template:
           - subinterface_vdbe_untr_1_subports_aap_address_mode
           - index_value
         service_template_filter:
-          substitute_service_template: nestedServiceTemplate.yaml
           count:
-            get_input: untrusted_num_vn
+            get_input:
+            - subinterface_vdbe_untr_1_subports_service_template_filter_count
+            - index_value
+          substitute_service_template: nestedServiceTemplate.yaml
           mandatory: false
         aap_untrusted_v6_ip_prefix:
           get_input:
@@ -351,8 +354,11 @@ topology_template:
           - subinterface_vdbe_untr_2_subports_aap_address_mode
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_vdbe_untr_2_subports_service_template_filter_count
+            - index_value
           substitute_service_template: nestedServiceTemplate.yaml
-          count: 5
           mandatory: true
         aap_untrusted_v6_ip_prefix:
           get_input:
index f61a83e..8088898 100644 (file)
@@ -40,6 +40,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      subinterface_nested_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       subinterface_nested_aap_untrusted_v6_ip_prefix_len:
         type: list
         required: true
@@ -50,15 +56,6 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      untrusted_num_vn:
-        type: float
-        description: Number of vDBE subinterface virtual Networks
-        required: true
-        status: SUPPORTED
-        constraints:
-        - in_range:
-          - 1
-          - 77
       port_vdbe_untr_port_order:
         type: integer
         required: true
index 56f3113..69c79c3 100644 (file)
@@ -86,6 +86,23 @@ topology_template:
             param_name: vdbe_aap_untrusted_ip_prefix_len
       type: string
       description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
     aap_address_mode:
       hidden: false
       immutable: false
@@ -396,6 +413,8 @@ topology_template:
         - get_input: untrusted_vlan_tags
         compute_vdbe_availability_zone:
         - get_input: availability_zone_1
+        subinterface_nested_service_template_filter_count:
+        - get_input: untrusted_num_vn
         subinterface_nested_aap_untrusted_v6_ip_prefix_len:
         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
         vm_flavor_name:
@@ -496,6 +515,8 @@ topology_template:
         - get_input: untrusted_vlan_tags
         compute_vdbe_availability_zone:
         - get_input: availability_zone_1
+        subinterface_nested_service_template_filter_count:
+        - 5
         subinterface_nested_aap_untrusted_v6_ip_prefix_len:
         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
         vm_flavor_name:
index 7b4ca1b..1638142 100644 (file)
@@ -37,6 +37,11 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    subinterface_nested_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     subinterface_nested_aap_untrusted_v6_ip_prefix_len:
       type: list
       required: true
@@ -45,15 +50,6 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    untrusted_num_vn:
-      hidden: false
-      immutable: false
-      type: float
-      description: Number of vDBE subinterface virtual Networks
-      constraints:
-      - in_range:
-        - 1
-        - 77
     port_vdbe_untr_port_order:
       type: integer
       required: true
@@ -243,8 +239,11 @@ topology_template:
           - subinterface_nested_aap_address_mode
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested_service_template_filter_count
+            - index_value
           substitute_service_template: nestedServiceTemplate.yaml
-          count: 5
           mandatory: true
         aap_untrusted_v6_ip_prefix:
           get_input:
index 714f8b6..7485e0d 100644 (file)
@@ -156,15 +156,6 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      untrusted_num_vn:
-        type: float
-        description: Number of vDBE subinterface virtual Networks
-        required: true
-        status: SUPPORTED
-        constraints:
-        - in_range:
-          - 1
-          - 77
       port_vdbe_untr_port_order:
         type: integer
         required: true
@@ -201,6 +192,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: json
+      subinterface_nested1_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       subinterface_nested1_aap_untrusted_v6_ip_prefix:
         type: list
         required: true
@@ -905,6 +902,12 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
+      subinterface_nested2_service_template_filter_count:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: float
       subinterface_nested2_counter:
         type: list
         required: true
index 97275e4..0e805a4 100644 (file)
@@ -86,6 +86,23 @@ topology_template:
             param_name: vdbe_aap_untrusted_ip_prefix_len
       type: string
       description: ip prefix length for the primary vDBE VM on the VAN untrusted network
+    untrusted_num_vn:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - main
+            source_type: HEAT
+            param_name: untrusted_num_vn
+      type: float
+      description: Number of vDBE subinterface virtual Networks
+      constraints:
+      - in_range:
+        - 1
+        - 77
     aap_address_mode:
       hidden: false
       immutable: false
@@ -453,6 +470,8 @@ topology_template:
         - get_input: untrusted_vlan_tags
         subinterface_nested2_aap_untrusted_ip_prefix_len:
         - get_input: vdbe_aap_untrusted_ip_prefix_len
+        subinterface_nested2_service_template_filter_count:
+        - 5
         subinterface_nested2_counter:
         - get_input: counter
         subinterface_nested2_aap_untrusted_v6_ip_prefix_len:
@@ -522,6 +541,8 @@ topology_template:
             get_input: vnf_id
           vnf_name:
             get_input: vnf_name
+        subinterface_nested1_service_template_filter_count:
+        - get_input: untrusted_num_vn
         subinterface_nested1_aap_untrusted_v6_ip_prefix:
         - get_input: vdbe_aap_untrusted_v6_ip_prefix
         subinterface_nested1_parent_interface:
index e249e3f..4b5ef9d 100644 (file)
@@ -40,15 +40,6 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    untrusted_num_vn:
-      hidden: false
-      immutable: false
-      type: float
-      description: Number of vDBE subinterface virtual Networks
-      constraints:
-      - in_range:
-        - 1
-        - 77
     port_vdbe_untr_port_order:
       type: integer
       required: true
@@ -78,6 +69,11 @@ topology_template:
       required: true
       entry_schema:
         type: json
+    subinterface_nested1_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     subinterface_nested1_aap_untrusted_v6_ip_prefix:
       type: list
       required: true
@@ -192,9 +188,11 @@ topology_template:
           - subinterface_nested1_aap_address_mode
           - index_value
         service_template_filter:
-          substitute_service_template: nested1ServiceTemplate.yaml
           count:
-            get_input: untrusted_num_vn
+            get_input:
+            - subinterface_nested1_service_template_filter_count
+            - index_value
+          substitute_service_template: nested1ServiceTemplate.yaml
           mandatory: false
         aap_untrusted_v6_ip_prefix:
           get_input:
index 0d70da9..be49ab8 100644 (file)
@@ -112,6 +112,11 @@ topology_template:
     port_vdbe_untr_port_network_role:
       type: string
       required: true
+    subinterface_nested2_service_template_filter_count:
+      type: list
+      required: true
+      entry_schema:
+        type: float
     subinterface_nested2_counter:
       type: list
       required: true
@@ -187,8 +192,11 @@ topology_template:
           - subinterface_nested2_aap_address_mode
           - index_value
         service_template_filter:
+          count:
+            get_input:
+            - subinterface_nested2_service_template_filter_count
+            - index_value
           substitute_service_template: nested2ServiceTemplate.yaml
-          count: 5
           mandatory: true
         aap_untrusted_v6_ip_prefix:
           get_input:
index 39240eb..c66a5ba 100644 (file)
@@ -1025,6 +1025,20 @@ public class DataModelUtil {
         .getProperties();
   }
 
+  public static void addNodeTemplateProperty(NodeTemplate nodeTemplate,
+                                               String propertyKey,
+                                               Object propertyValue) {
+    if (Objects.isNull(nodeTemplate)) {
+      return;
+    }
+
+    if(MapUtils.isEmpty(nodeTemplate.getProperties())) {
+      nodeTemplate.setProperties(new HashMap<>());
+    }
+
+    nodeTemplate.getProperties().put(propertyKey, propertyValue);
+  }
+
   /**
    * Gets substitution mappings in a service template.
    *
index 5d4b7df..af0d236 100644 (file)
@@ -55,6 +55,7 @@ public class ToscaConstants {
   public static final String SERVICE_TEMPLATE_FILTER_PROPERTY_NAME = "service_template_filter";
   public static final String SUBSTITUTE_SERVICE_TEMPLATE_PROPERTY_NAME =
       "substitute_service_template";
+  public static final String SERVICE_TEMPLATE_FILTER_COUNT = "service_template_filter_count";
   public static final String COUNT_PROPERTY_NAME = "count";
   public static final String MANDATORY_PROPERTY_NAME = "mandatory";
   public static final String INDEX_VALUE_PROPERTY_NAME = "index_value";