Added JMeter scripts for stability test

Added the scripts and JMeter scenario for stability test

Change-Id: If495321e54e56d688cfadd53894a0361f283079d
Issue-ID: POLICY-837
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
diff --git a/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
new file mode 100644
index 0000000..6059757
--- /dev/null
+++ b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAxsekiqwLgs9VfChnr2bnpLC3VqD1iT+s969vWe05j1RDozPu
+zyD3krNgVUcd65x2QQJWrDK2fnyQUtubbPb3wviLXs0Gof4a/b65JsMQkeeC2/OK
+aFvrE6D3heouXmWO1vo1iXy2hUhcfXdr6eM3rP3zpU9zb2Al25/90Ha8kKBpe1RS
+PKHpmcqVXIpGVxJSXnioAFXUsJ687qrTv7Zm13AHkm2L1Y5IvMsGHLFjFTGFlFoY
+ftQQAepF507CFqs66tD378vvNVg8LYqrKpnfdx2PIRNLHAa1xQWc0EvwGHyBQZRL
+hTXS3M3IZ7Y22dJ+3Zg15PMx7QmWDZO5MG/JPwIDAQABAoIBAE5KS1AiutXmezDP
+aSb4TLvcrhj8hDhuT92txxmQCV+ePJWG2sPRpDCvXX246NvnX9vy49gmkSH4RY+c
+1vZvvt2XrqzD65zZzB+sgpf1tA0DNdMTdKvtqASvHU4tEd4z+bJKEdP4vpp4CZWQ
+93vC9ia4TsIJLNns8Hwz42+7lEEResKYZA2djGnzHl+83vR1dm0GGBD6BKR1C3Cx
+HbEhqx42EV61+8nAweQNjWKxeAc2hg+H8o8qWJM1aKy0TnqW6kudOYRyYIpX0rJA
+siE2HwvDA1mDd5M8ntZ/Cx0pnTc/cuZB8BQJ0jN1JXbrJGbWspBNXformw7isbyO
+WIOjvEECgYEA84XKV3aPrTE2JBs5vzzs59NMPV+5frw+xzDyPxqK5Q7+jjVKDwxh
+/WRatCaTdRxhOI905HfVsDYjrsPOpmF9MHsLxmBhwk8zBFOu/xtYr7zBNkJhmCsq
+kZMdxf8bpu08E7kMQJ2MvT7OhM5HRlWIUR0jdja8Hz51Ro4oOb/po7kCgYEA0Pb5
+v12ZsaSHMF0r4l983PifNwYmI22iQIEtRT2DxgTkDKgBTjbRzqZmEhaADMAO48o9
+sIZy+KJ/a8G9fPQVwMgBID8zOHnWsrFmM3qkj5hhrAQdtq7OE71zgaP0tyE1TG4u
+Zs3a7eSyuoildHHFqX88oXSYsTlfV8vn23UpwLcCgYEAwXiCuBger8dQL0FeEJwz
+zz5k7MG3WoPuEEzHuPC6dp8CCDM4IlqBI1JuaX/YWQtyBgCbKsQ2BigNE1THQhJj
+5ndrdHCwWjKX4pElj9HHFN+OVTBJ3x40VLGfzuUNsAH8X+L9Y/yHivZyFrrXj352
+rZLL0KhNrzjs7WAVf0QEOCkCgYBe2s1xnZZnueyX+qMyBfBTChST0Jm9WUXejAS1
+un+3gn7Wc+jrzRyd9pC8wzPrFb9sjWBFYjKMRI8cpfxS3SWGtgM01Rt2FnBr+vUO
+hyxt9ljX0aJ/S4hGE6h7/6XU/yEHibhMeENZ24d5/w9D9WUpVJV8IMYzJHzwCKI9
+z0hdrwKBgQDMKvY3DBpZjhZe9YnOgdj4SRpNwaasUSf3a3SZYY1JyOZVUzeSSzoX
+rYLfxBRDjkJ8Nnod+nR/JSRqYa/SJYEMZEZFsC+k/pvBiaP6tk694IlpLD/2MXN6
+14FUV5LH/rGSbZJMSfZ9yNX1XZDowH8nOu+qlmlU4lmgiOuityTmtw==
+-----END RSA PRIVATE KEY-----
diff --git a/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
new file mode 100644
index 0000000..f31d15d
--- /dev/null
+++ b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
@@ -0,0 +1 @@
+ubuntu_16.04
diff --git a/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
new file mode 100644
index 0000000..c49c2c6
--- /dev/null
+++ b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
@@ -0,0 +1 @@
+<vendor-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><entitlement-pool-list><entitlement-pool><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><version>1.0</version><name>entitlement pool</name><description/><increments/><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><version>1.0</version><name>license key</name><description/><type>Universal</type><increments/><manufacturerReferenceNumber/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list></vendor-license-model>
\ No newline at end of file
diff --git a/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
new file mode 100644
index 0000000..db573af
--- /dev/null
+++ b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
@@ -0,0 +1 @@
+<vf-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><vf-id>2455e00dddf84eedaaed6eb412d39a7e</vf-id><feature-group-list><feature-group><entitlement-pool-list><entitlement-pool><name>entitlement pool</name><description/><increments/><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><name>license key</name><description/><type>Universal</type><increments/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><manufacturer-reference-number/><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list><name>feature group</name><feature-group-uuid>d3780d334c4c42d38c7ab1ec23a65cfd</feature-group-uuid><part-number>4444</part-number><description/></feature-group></feature-group-list></vf-license-model>
\ No newline at end of file
diff --git a/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
new file mode 100644
index 0000000..f08e56f
--- /dev/null
+++ b/s3p/templates/interfaceType/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
@@ -0,0 +1,29 @@
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
+
+
+1.    VSP Details: 
+    a.    Name: vgw1181049
+    b.    Description test
+    c.    Version: 0.0
+    d.    Vendor: vendor
+    e.    Category: resourceNewCategory.generic
+    f.    License Details: 
+        i.    License Model Version: 0.0
+        ii.    License Agreement Name: b24b9792f0ec4e72818387a230acec5a
+        iii    List of Feature Groups: 
+            1.    d3780d334c4c42d38c7ab1ec23a65cfd
+    g.    High Availability 
+    h.    Storage Data Back-up Details: 
+        i.    Data Replication Required?: false
+        ii.    	Data Size to replicate in GB: null
+        iii.    Data replication frequency: null
+        iv.    Replication Source: null
+        v.    Replication Destination: null
+    3.    List of VFCs 
+        a.    For each VFC: 
+
+
+
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
\ No newline at end of file
diff --git a/s3p/templates/interfaceType/Definitions/annotations.yml b/s3p/templates/interfaceType/Definitions/annotations.yml
new file mode 100644
index 0000000..2f14606
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/annotations.yml
@@ -0,0 +1,30 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+annotation_types:
+  org.openecomp.annotations.Source:
+    description: Indicates the origin source of an input
+    properties:
+      source_type:
+        type: string
+      vf_module_label:
+        type: list
+        description: List of VF Modules this input was originated from
+        entry_schema:
+          type: string
+      param_name:
+        type: string
+        description: Source parameter name
diff --git a/s3p/templates/interfaceType/Definitions/artifacts.yml b/s3p/templates/interfaceType/Definitions/artifacts.yml
new file mode 100644
index 0000000..175615c
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/artifacts.yml
@@ -0,0 +1,42 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+artifact_types:
+  tosca.artifacts.Root:
+    description: This is the default (root) TOSCA Artifact Type definition that all other TOSCA base Artifact Types derive from.
+  tosca.artifacts.Deployment.Image:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact type represents a parent type for any "image" which is an opaque packaging of a TOSCA Node's deployment (whether real or virtual) whose contents are typically already installed and pre-configured (i.e., "stateful") and prepared to be run on a known target container.
+  tosca.artifacts.Implementation.Bash:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Bash script type that contains Bash commands that can be executed on the Unix Bash shell.
+  tosca.artifacts.Deployment.Image.VM:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact represents the parent type for all Virtual Machine (VM) image and container formatted deployment artifacts. These images contain a stateful capture of a machine (e.g., server) including operating system and installed software along with any configurations and can be run on another machine using a hypervisor which virtualizes typical server (i.e., hardware) resources.
+  tosca.artifacts.Implementation.Python:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Python file that contains Python language constructs that can be executed within a Python interpreter.
+  tosca.artifacts.Deployment:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all deployment artifacts in TOSCA. This class of artifacts typically represents a binary packaging of an application or service that is used to install/create or deploy it as part of a node's lifecycle.
+  tosca.artifacts.File:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type is used when an artifact definition needs to have its associated file simply treated as a file and no special handling/handlers are invoked (i.e., it is not treated as either an implementation or deployment artifact type).
+  tosca.artifacts.Implementation:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all implementation artifacts in TOSCA. These artifacts are used to implement operations of TOSCA interfaces either directly (e.g., scripts) or indirectly (e.g., config. files).
+  tosca.artifacts.nfv.SwImage:
+    derived_from: tosca.artifacts.Deployment.Image
diff --git a/s3p/templates/interfaceType/Definitions/capabilities.yml b/s3p/templates/interfaceType/Definitions/capabilities.yml
new file mode 100644
index 0000000..734c201
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/capabilities.yml
@@ -0,0 +1,293 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+capability_types:
+  tosca.capabilities.Root:
+    description: The TOSCA root Capability Type all other TOSCA base Capability Types derive from
+  tosca.capabilities.Attachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Node:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Container:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: integer
+        required: false
+        constraints:
+        - greater_or_equal: 1
+      cpu_frequency:
+        type: scalar-unit.frequency
+        required: false
+        constraints:
+        - greater_or_equal: 0.1 GHz
+      disk_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+      mem_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+  org.openecomp.capabilities.PortMirroring:
+    derived_from: tosca.capabilities.Root
+    properties:
+      connection_point:
+        type: org.openecomp.datatypes.PortMirroringConnectionPointDescription
+  tosca.capabilities.Endpoint:
+    derived_from: tosca.capabilities.Root
+    properties:
+      protocol:
+        type: string
+        default: tcp
+      port:
+        type: PortDef
+        required: false
+      secure:
+        type: boolean
+        default: false
+      url_path:
+        type: string
+        required: false
+      port_name:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+        default: PRIVATE
+      initiator:
+        type: string
+        default: source
+        constraints:
+        - valid_values:
+          - source
+          - target
+          - peer
+      ports:
+        type: map
+        required: false
+        constraints:
+        - min_length: 1
+        entry_schema:
+          type: PortSpec
+    attributes:
+      ip_address:
+        type: string
+  tosca.capabilities.DatabaseEndpoint:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.Endpoint.Public:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      network_name: PUBLIC
+      floating:
+        description: |
+          indicates that the public address should be allocated from a pool of floating IPs that are associated with the network.
+        type: boolean
+        default: false
+        status: experimental
+      dns_name:
+        description: The optional name to register with DNS
+        type: string
+        required: false
+        status: experimental
+  tosca.capabilities.Endpoint.Admin:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      secure: true
+  tosca.capabilities.Endpoint.Database:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.OperatingSystem:
+    derived_from: tosca.capabilities.Root
+    properties:
+      architecture:
+        type: string
+        required: false
+      type:
+        type: string
+        required: false
+      distribution:
+        type: string
+        required: false
+      version:
+        type: version
+        required: false
+  tosca.capabilities.Scalable:
+    derived_from: tosca.capabilities.Root
+    properties:
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      default_instances:
+        type: integer
+  tosca.capabilities.network.Bindable:
+    derived_from: tosca.capabilities.Node
+  tosca.capabilities.Container.Docker:
+    derived_from: tosca.capabilities.Container
+    properties:
+      version:
+        type: list
+        required: false
+        entry_schema: version
+      publish_all:
+        type: boolean
+        default: false
+        required: false
+      publish_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      expose_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      volumes:
+        type: list
+        entry_schema: string
+        required: false
+  tosca.capabilities.network.Linkable:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.AllottedResource:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Metric:
+    derived_from: tosca.capabilities.Endpoint
+  org.openecomp.capabilities.Metric:
+    derived_from: tosca.capabilities.nfv.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored.
+    properties:
+      unit:
+        type: string
+        description: Unit of the metric value
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: Description of the metric
+        required: false
+        status: SUPPORTED
+      type:
+        type: string
+        description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+        required: true
+        status: SUPPORTED
+      category:
+        type: string
+        description: Category of the metric, for an example, compute, disk, network, storage and etc.
+        required: false
+        status: SUPPORTED
+    attributes:
+      value:
+        type: string
+        description: Runtime monitored value
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.Ceilometer:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+    properties:
+      name:
+        type: string
+        description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpPolling:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp polling.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpTrap:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp trap.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.Forwarder:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.VLANAssignment:
+    derived_from: tosca.capabilities.Root
+    description: ability to expose routing information of the internal network
+    properties:
+      vfc_instance_group_reference:
+        type: string
+        description: Ability to recognize capability per vfc instance group on vnf instance
+        required: true
+  org.openecomp.capabilities.RoutingConfiguration:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.FabricConfiguration:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualStorage:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualCompute:
+    derived_from: tosca.capabilities.Root
+    properties:
+      logical_node:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+      compute_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      requested_additional_capabilities:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.RequestedAdditionalCapability
+        required: false
+      virtual_memory:
+        type: tosca.datatypes.nfv.VirtualMemory
+        required: true
+      virtual_cpu:
+        type: tosca.datatypes.nfv.VirtualCpu
+        required: true
+  tosca.capabilities.nfv.VirtualBindable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ExtVirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Forwarder:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.GuestOs:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.ImageFile:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.LocalAttachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.Compute.Container.Architecture:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: string
+        required: false
+      flavor_extra_specs:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      mem_size:
+        type: string
+        required: false
diff --git a/s3p/templates/interfaceType/Definitions/data.yml b/s3p/templates/interfaceType/Definitions/data.yml
new file mode 100644
index 0000000..0ff7179
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/data.yml
@@ -0,0 +1,1733 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+data_types:
+  tosca.datatypes.Root:
+    description: The TOSCA root Data Type all other TOSCA base Data Types derive from
+  integer:
+    derived_from: tosca.datatypes.Root
+  string:
+    derived_from: tosca.datatypes.Root
+  boolean:
+    derived_from: tosca.datatypes.Root
+  float:
+    derived_from: tosca.datatypes.Root
+  list:
+    derived_from: tosca.datatypes.Root
+  map:
+    derived_from: tosca.datatypes.Root
+  json:
+    derived_from: tosca.datatypes.Root
+  scalar-unit:
+    derived_from: tosca.datatypes.Root
+  scalar-unit.size:
+    derived_from: scalar-unit
+  scalar-unit.time:
+    derived_from: scalar-unit
+  scalar-unit.frequency:
+    derived_from: scalar-unit
+  tosca.datatypes.Credential:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: false
+      token_type:
+        type: string
+        default: password
+      token:
+        type: string
+      keys:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      user:
+        type: string
+        required: false
+  org.openecomp.datatypes.PortMirroringConnectionPointDescription:
+    derived_from: tosca.datatypes.Root
+    properties:
+      nf_naming_code:
+        type: string
+      nfc_naming_code:
+        type: string
+      network_role:
+        type: string
+      pps_capacity:
+        type: string
+      nf_type:
+        type: string
+        description: deprecated
+      nfc_type:
+        type: string
+        description: deprecated
+  tosca.datatypes.TimeInterval:
+    derived_from: tosca.datatypes.Root
+    properties:
+      start_time:
+        type: timestamp
+        required: true
+      end_time:
+        type: timestamp
+        required: true
+  tosca.datatypes.network.NetworkInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      network_name:
+        type: string
+      network_id:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      port_name:
+        type: string
+      port_id:
+        type: string
+      network_id:
+        type: string
+      mac_address:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortDef:
+    derived_from: integer
+    constraints:
+    - in_range:
+      - 1
+      - 65535
+  tosca.datatypes.network.PortSpec:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: true
+        default: tcp
+        constraints:
+        - valid_values:
+          - udp
+          - tcp
+          - igmp
+      target:
+        type: tosca.datatypes.network.PortDef
+      target_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+      source:
+        type: tosca.datatypes.network.PortDef
+      source_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+  org.openecomp.datatypes.heat.network.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: MAC/IP address pairs
+    properties:
+      mac_address:
+        type: string
+        description: MAC address
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.subnet.HostRoute:
+    derived_from: tosca.datatypes.Root
+    description: Host route info for the subnet
+    properties:
+      destination:
+        type: string
+        description: The destination for static route
+        required: false
+        status: SUPPORTED
+      nexthop:
+        type: string
+        description: The next hop for the destination
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.AllocationPool:
+    derived_from: tosca.datatypes.Root
+    description: The start and end addresses for the allocation pool
+    properties:
+      start:
+        type: string
+        description: Start address for the allocation pool
+        required: false
+        status: SUPPORTED
+      end:
+        type: string
+        description: End address for the allocation pool
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.Subnet:
+    derived_from: tosca.datatypes.Root
+    description: A subnet represents an IP address block that can be used for assigning IP addresses to virtual instances
+    properties:
+      tenant_id:
+        type: string
+        description: The ID of the tenant who owns the network
+        required: false
+        status: SUPPORTED
+      enable_dhcp:
+        type: boolean
+        description: Set to true if DHCP is enabled and false if DHCP is disabled
+        required: false
+        default: true
+        status: SUPPORTED
+      ipv6_address_mode:
+        type: string
+        description: IPv6 address mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      ipv6_ra_mode:
+        type: string
+        description: IPv6 RA (Router Advertisement) mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      allocation_pools:
+        type: list
+        description: The start and end addresses for the allocation pools
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AllocationPool
+      subnetpool:
+        type: string
+        description: The name or ID of the subnet pool
+        required: false
+        status: SUPPORTED
+      dns_nameservers:
+        type: list
+        description: A specified set of DNS name servers to be used
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      host_routes:
+        type: list
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.subnet.HostRoute
+      ip_version:
+        type: integer
+        description: The gateway IP address
+        required: false
+        default: 4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - '4'
+          - '6'
+      name:
+        type: string
+        description: The name of the subnet
+        required: false
+        status: SUPPORTED
+      prefixlen:
+        type: integer
+        description: Prefix length for subnet allocation from subnet pool
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      cidr:
+        type: string
+        description: The CIDR
+        required: false
+        status: SUPPORTED
+      gateway_ip:
+        type: string
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.novaServer.network.PortExtraProperties:
+    derived_from: tosca.datatypes.Root
+    description: Nova server network expand properties for port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the port
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: The administrative state of this port
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this port
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.novaServer.network.AddressInfo:
+    derived_from: tosca.datatypes.network.NetworkInfo
+    description: Network addresses with corresponding port id
+    properties:
+      port_id:
+        type: string
+        description: Port id
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.neutron.port.FixedIps:
+    derived_from: tosca.datatypes.Root
+    description: subnet/ip_address
+    properties:
+      subnet:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address desired in the subnet for this port
+        required: false
+        status: SUPPORTED
+      subnet_id:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.FileInfo:
+    derived_from: tosca.datatypes.Root
+    description: Heat File Info
+    properties:
+      file:
+        type: string
+        description: The required URI string (relative or absolute) which can be used to locate the file
+        required: true
+        status: SUPPORTED
+      file_type:
+        type: string
+        description: The type of the file
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - base
+          - env
+          - volume
+          - network
+  org.openecomp.datatypes.heat.contrail.network.rule.PortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source and destination port pairs
+    properties:
+      start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      apply_service:
+        type: string
+        description: Service to apply
+        required: false
+        status: SUPPORTED
+      dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.Rule
+  org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source and destination addresses
+    properties:
+      virtual_network:
+        type: string
+        description: Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule:
+    derived_from: tosca.datatypes.Root
+    description: Rules Pairs
+    properties:
+      remote_group_id:
+        type: string
+        description: The remote group ID to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      protocol:
+        type: string
+        description: The protocol that is matched by the security group rule
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - tcp
+          - udp
+          - icmp
+      ethertype:
+        type: string
+        description: Ethertype of the traffic
+        required: false
+        default: IPv4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - IPv4
+          - IPv6
+      port_range_max:
+        type: integer
+        description: 'The maximum port number in the range that is matched by the
+          security group rule. '
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+      remote_ip_prefix:
+        type: string
+        description: The remote IP prefix (CIDR) to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      remote_mode:
+        type: string
+        description: Whether to specify a remote group or a remote IP prefix
+        required: false
+        default: remote_ip_prefix
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - remote_ip_prefix
+          - remote_group_id
+      direction:
+        type: string
+        description: The direction in which the security group rule is applied
+        required: false
+        default: ingress
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - egress
+          - ingress
+      port_range_min:
+        type: integer
+        description: The minimum port number in the range that is matched by the security group rule.
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+  org.openecomp.datatypes.heat.substitution.SubstitutionFiltering:
+    derived_from: tosca.datatypes.Root
+    description: Substitution Filter
+    properties:
+      substitute_service_template:
+        type: string
+        description: Substitute Service Template
+        required: true
+        status: SUPPORTED
+      index_value:
+        type: integer
+        description: Index value of the substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      count:
+        type: string
+        description: Count
+        required: false
+        default: 1
+        status: SUPPORTED
+      scaling_enabled:
+        type: boolean
+        description: Indicates whether service scaling is enabled
+        required: false
+        default: true
+        status: SUPPORTED
+      mandatory:
+        type: boolean
+        description: Mandatory
+        required: false
+        default: true
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data sequence
+    properties:
+      network_policy_refs_data_sequence_major:
+        type: integer
+        description: Network Policy ref data sequence Major
+        required: false
+        status: SUPPORTED
+      network_policy_refs_data_sequence_minor:
+        type: integer
+        description: Network Policy ref data sequence Minor
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data
+    properties:
+      network_policy_refs_data_sequence:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence
+        description: Network Policy ref data sequence
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix len
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet List
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_addr_from_start:
+        type: string
+        description: Network ipam refs data ipam subnets addr from start
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data
+    properties:
+      network_ipam_refs_data_ipam_subnets:
+        type: list
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source addresses
+    properties:
+      network_policy_entries_policy_rule_src_addresses_virtual_network:
+        type: string
+        description: Source addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: destination addresses
+    properties:
+      network_policy_entries_policy_rule_dst_addresses_virtual_network:
+        type: string
+        description: Destination addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: destination port pairs
+    properties:
+      network_policy_entries_policy_rule_dst_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_dst_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source port pairs
+    properties:
+      network_policy_entries_policy_rule_src_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList:
+    derived_from: tosca.datatypes.Root
+    description: Action List
+    properties:
+      network_policy_entries_policy_rule_action_list_simple_action:
+        type: string
+        description: Simple Action
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_action_list_apply_service:
+        type: list
+        description: Apply Service
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      network_policy_entries_policy_rule_dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork
+      network_policy_entries_policy_rule_dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs
+      network_policy_entries_policy_rule_protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork
+      network_policy_entries_policy_rule_direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs
+      network_policy_entries_policy_rule_action_list:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList
+        description: Action list
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      network_policy_entries_policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.Rule
+  org.openecomp.datatypes.heat.network.contrail.port.StaticRoute:
+    derived_from: tosca.datatypes.Root
+    description: static route
+    properties:
+      prefix:
+        type: string
+        description: Route prefix
+        required: false
+        status: SUPPORTED
+      next_hop:
+        type: string
+        description: Next hop
+        required: false
+        status: SUPPORTED
+      next_hop_type:
+        type: string
+        description: Next hop type
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Address Pair
+    properties:
+      address_mode:
+        type: string
+        description: Address mode active-active or active-standy
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - active-active
+          - active-standby
+      prefix:
+        type: string
+        description: IP address prefix
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: Mac address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.InterfaceData:
+    derived_from: tosca.datatypes.Root
+    description: Interface Data
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Interface Properties.
+    properties:
+      virtual_machine_interface_properties_service_interface_type:
+        type: string
+        description: Service Interface Type.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.Root:
+    derived_from: tosca.datatypes.Root
+    description: |
+      The ECOMP root Data Type all other Data Types derive from
+    properties:
+      supplemental_data:
+        type: map
+        entry_schema:
+          description: |
+            A placeholder for missing properties that would be included in future ecomp model versions. fromat <key>:<value>
+          type: string
+  org.openecomp.datatypes.AssignmentRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_required:
+        description: |
+          "true" indicates that assignment is required
+        type: boolean
+        default: false
+        required: true
+      count:
+        description: number of assignments required
+        type: integer
+        required: false
+  org.openecomp.datatypes.network.SubnetAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_network_address_plan:
+        type: string
+        required: false
+        description: Reference to EIPAM, VLAN or other address plan ID used to assign subnets to this network
+      dhcp_enabled:
+        type: boolean
+        required: false
+        description: \"true\" indicates the network has 1 or more policies
+      ip_version:
+        type: integer
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+        required: true
+        description: The IP version of the subnet
+      cidr_mask:
+        type: integer
+        required: true
+        description: The default subnet CIDR mask
+      min_subnets_count:
+        type: integer
+        default: 1
+        required: true
+        description: Quantity of subnets that must be initially assigned
+  org.openecomp.datatypes.network.IPv4SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv4:
+        type: boolean
+        required: true
+        description: Indicates IPv4 subnet assignments
+  org.openecomp.datatypes.network.IPv6SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv6:
+        type: boolean
+        required: true
+        description: Indicates IPv6 subnet assignments
+  org.openecomp.datatypes.network.NetworkAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_network_assignment:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the network assignments will be auto-generated by ECOMP \"false\" indicates operator-supplied Network assignments file upload is required (e.g. VID will present prompt to operator to upload operator-supplied Network assignments file).
+      is_shared_network:
+        type: boolean
+        required: true
+        description: \"true\" means this network is shared by multiple Openstack tenants
+      is_external_network:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" means this Contrail external network
+      ipv4_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv4SubnetAssignments
+        required: true
+        description: IPv4 defualt subnet assignments
+      ipv6_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv6SubnetAssignments
+        required: true
+        description: IPv6 defualt subnet assignments
+      related_networks:
+        type: list
+        required: false
+        description: Related Networks List.
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+      is_trunked:
+        type: boolean
+        required: true
+        description: \"true\" indicates that network is trunked
+        default: false
+  org.openecomp.datatypes.network.ProviderNetwork:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_provider_network:
+        type: boolean
+        required: true
+        description: \"true\" indicates that this a Neutron provider type of network
+      physical_network_name:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Physnet41
+          - Physnet42
+          - Physnet43
+          - Physnet44
+          - Physnet21
+          - Physnet22
+          - sriovnet1
+          - sriovnet2
+          - oam
+        description: |
+          Identifies the NUMA processor cluster to which this physical network interface belongs. NUMA instance correlates to the first digit of the Physical Network Name suffix (e.g. \"01\" = NUMA 0, \"11\" = NUMA 1)
+      numa:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - NUMA 0
+          - NUMA 1
+        description: |
+          PNIC instance within the NUMA processor cluster PNIC Instance correlates to the second digit of the Physical Network Name suffix (e.g. "01" = PNIC 1, "02" = "PNIC 2)
+      pnic_instance:
+        type: integer
+        required: false
+        description: PNIC instance within the NUMA processor cluster
+  org.openecomp.datatypes.network.NetworkFlows:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_network_policy:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more policies
+      network_policy:
+        type: string
+        required: false
+        description: 'Identifies the specific Cloud network policy that must be applied
+          to this network (source: from Policy Manager).'
+      is_bound_to_vpn:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more vpn bindings
+      vpn_binding:
+        type: string
+        required: false
+        description: 'Identifies the specific VPN Binding entry in A&AI that must
+          be applied when creating this network (source: A&AI)'
+  org.openecomp.datatypes.network.VlanRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      vlan_range_plan:
+        type: string
+        required: true
+        description: reference to a vlan range plan
+      vlan_type:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - c-tag
+          - s-tag
+        description: identifies the vlan type (e.g., c-tag)
+      vlan_count:
+        type: integer
+        required: true
+        description: identifies the number of vlan tags to assign to the CP from the plan
+  org.openecomp.datatypes.network.IpRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: true
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      ip_count:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: integer
+        required: false
+      floating_ip_count:
+        type: integer
+        required: false
+      subnet_role:
+        type: string
+        required: false
+      assingment_method:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - fixed
+          - dhcp
+      dhcp_enabled:
+        type: boolean
+        required: false
+      ip_count_required:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      floating_ip_count_required:
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      ip_address_plan_name:
+        type: string
+        required: false
+      vrf_name:
+        type: string
+        required: false
+  org.openecomp.datatypes.network.MacAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        type: string
+        required: true
+        description: reference to a MAC address range plan
+      mac_count:
+        type: integer
+        required: true
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+  org.openecomp.datatypes.EcompHoming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_selected_instance_node_target:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the target deployment node for this instance will be auto-selected by ECOMP \"false\" indicates operator-supplied instance target deployment node required (e.g. VID will present a prompt to operator and collect the operator-selected target node for the deployment of this Network instance).
+      homing_policy:
+        type: string
+        required: false
+        description: Referenc to a service level homing policy that ECOMP will use for instance deployment target node
+      instance_node_target:
+        type: string
+        required: false
+        description: Instance target deployment node
+  org.openecomp.datatypes.EcompNaming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        type: boolean
+        required: true
+        default: true
+        description: |
+          \"true\" indicates that the name for the instance will be auto-generated by ECOMP. \"false\" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+      naming_policy:
+        type: string
+        required: false
+        description: Referenc to naming policy that ECOMP will use when the name is auto-generated
+  org.openecomp.datatypes.network.MacRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        description: reference to a MAC address range plan
+        type: string
+        required: false
+      mac_count:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: integer
+        required: false
+      mac_count_required:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair IP.
+    properties:
+      ip_prefix:
+        type: string
+        description: IP Prefix.
+        required: false
+        status: SUPPORTED
+      ip_prefix_len:
+        type: integer
+        description: IP Prefix Len.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Mac Address.
+    properties:
+      mac_address:
+        type: list
+        description: Mac Addresses List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface VLAN Properties.
+    properties:
+      sub_interface_vlan_tag:
+        type: string
+        description: Sub Interface VLAN Tag.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair.
+    properties:
+      address_mode:
+        type: string
+        description: Address Mode.
+        required: false
+        status: SUPPORTED
+      ip:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp
+        description: IP.
+        required: false
+        status: SUPPORTED
+      mac:
+        type: string
+        description: Mac.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pairs.
+    properties:
+      allowed_address_pair:
+        type: list
+        description: Addresses pair List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair
+  org.openecomp.datatypes.Naming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        description: |
+          "true" indicates that the name for the instance will be auto-generated by ECOMP. "false" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: boolean
+        default: true
+        required: true
+      naming_policy:
+        description: Reference to naming policy that ECOMP will use when the name is auto-generated
+        type: string
+        required: false
+      instance_name:
+        description: indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: string
+        required: false
+  org.openecomp.datatypes.flavors.ComputeFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      num_cpus:
+        type: integer
+      disk_size:
+        type: scalar-unit.size
+      mem_size:
+        type: scalar-unit.size
+  org.openecomp.datatypes.flavors.LicenseFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      feature_group_uuid:
+        type: string
+  org.openecomp.datatypes.flavors.VendorInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      manufacturer_reference_number:
+        type: string
+      vendor_model:
+        type: string
+  org.openecomp.datatypes.flavors.DeploymentFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      sp_part_number:
+        type: string
+      vendor_info:
+        type: org.openecomp.datatypes.flavors.VendorInfo
+      compute_flavor:
+        type: org.openecomp.datatypes.flavors.ComputeFlavor
+      license_flavor:
+        type: org.openecomp.datatypes.flavors.LicenseFlavor
+        required: false
+  org.openecomp.datatypes.ImageInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      software_version:
+        type: string
+      file_name:
+        type: string
+      file_hash:
+        type: string
+        description: checksum/signature
+      file_hash_type:
+        type: string
+        required: false
+        default: md5
+  org.openecomp.datatypes.network.RelatedNetworksAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      related_network_role:
+        type: string
+        description: The network role of the related network, sharing provider network.
+        required: false
+  tosca.datatypes.nfv.VnfcConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      additional_vnfc_configurable_properties:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.RequestedAdditionalCapability:
+    derived_from: tosca.datatypes.Root
+    properties:
+      support_mandatory:
+        type: boolean
+        required: true
+      min_requested_additional_capability_version:
+        type: string
+        required: false
+      preferred_requested_additional_capability_version:
+        type: string
+        required: false
+      requested_additional_capability_name:
+        type: string
+        required: true
+      target_performance_parameters:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+  tosca.datatypes.nfv.VirtualMemory:
+    derived_from: tosca.datatypes.Root
+    properties:
+      virtual_mem_size:
+        type: scalar-unit.size
+        required: true
+      virtual_mem_oversubscription_policy:
+        type: string
+        required: false
+      vdu_memory_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      numa_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VirtualCpuPinning:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_pinning_policy:
+        type: string
+        constraints:
+        - valid_values:
+          - static
+          - dynamic
+        required: false
+      cpu_pinning_map:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualCpu:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_architecture:
+        type: string
+        required: false
+      num_virtual_cpu:
+        type: integer
+        required: true
+      virtual_cpu_clock:
+        type: scalar-unit.frequency
+        required: false
+      virtual_cpu_oversubscription_policy:
+        type: string
+        required: false
+      vdu_cpu_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      virtual_cpu_pinning:
+        type: tosca.datatypes.nfv.VirtualCpuPinning
+        required: false
+  tosca.datatypes.nfv.LogicalNodeData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      logical_node_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      support_mandatory:
+        type: boolean
+        required: true
+      requirement:
+        type: string
+        required: false
+      network_interface_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+      nic_io_requirements:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+  tosca.datatypes.nfv.injectFile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      source_path:
+        type: string
+        required: true
+      dest_path:
+        type: string
+        required: true
+  tosca.datatypes.nfv.L2AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      mac_address_assignment:
+        type: boolean
+        required: true
+      address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.L3AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      ip_address_assignment:
+        type: boolean
+        required: true
+      floating_ip_activated:
+        type: boolean
+        required: true
+      ip_address_type:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - ipv4
+          - ipv6
+      number_of_ip_address:
+        type: integer
+        required: false
+      fixed_ip_address:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.AddressData:
+    properties:
+      address_type:
+        constraints:
+        - valid_values:
+          - mac_address
+          - ip_address
+        type: string
+        required: true
+      l2_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L2AddressData
+      l3_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L3AddressData
+  tosca.datatypes.nfv.ConnectivityType:
+    derived_from: tosca.datatypes.Root
+    properties:
+      layer_protocol:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo_wire
+      flow_pattern:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Line
+          - Tree
+          - Mesh
+  tosca.datatypes.nfv.VlFlavour:
+    derived_from: tosca.datatypes.Root
+    properties:
+      flavourId:
+        type: string
+  tosca.datatypes.nfv.ext.AddressPairs:
+    properties:
+      ip:
+        type: string
+        required: false
+      mac:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.FloatingIP:
+    properties:
+      external_network:
+        type: string
+        required: false
+      ip_address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocationInfo:
+    properties:
+      availability_zone:
+        type: string
+        required: false
+      vimid:
+        type: integer
+        required: false
+      tenant:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.HostRouteInfo:
+    properties:
+      destination:
+        type: string
+        required: false
+      nexthop:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.InjectData:
+    properties:
+      file_name:
+        type: string
+        required: false
+      file_data:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.zte.WatchDog:
+    properties:
+      enable_delay:
+        type: integer
+        required: false
+      action:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule:
+    properties:
+      scope:
+        type: string
+        required: false
+      affinity_antiaffinity:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VduProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_number_of_instances:
+        type: integer
+        required: true
+      max_number_of_instances:
+        type: integer
+        required: true
+      watchdog:
+        type: string
+        required: true
+      vmBootUpTimeOut:
+        type: integer
+        required: false
+  tosca.datatypes.nfv.LinkBitRateRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      root:
+        type: integer
+        required: true
+      leaf:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.Qos:
+    derived_from: tosca.datatypes.Root
+    properties:
+      latency:
+        type: integer
+        required: true
+      packet_delay_variation:
+        type: integer
+        required: true
+      packet_loss_ratio:
+        type: float
+        constraints:
+        - in_range:
+          - 0.0
+          - 1.0
+        required: false
+  tosca.datatypes.nfv.VlProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      max_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      min_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      qos:
+        type: tosca.datatypes.nfv.Qos
+        required: false
+      initiationParameters:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      cidr:
+        type: string
+        required: false
+      networkName:
+        type: string
+        required: false
+      startIp:
+        type: string
+        required: false
+      endIp:
+        type: string
+        required: false
+      gatewayIp:
+        type: string
+        required: false
+      segmentationId:
+        type: integer
+        required: false
+      physicalNetwork:
+        type: string
+        required: false
+      networkType:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - VLAN
+          - VXLAN
+      dhcpEnabled:
+        type: boolean
+        required: false
+      vlanTransparent:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VduLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      number_of_instances:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaleLevel:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleAspect:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      associated_group:
+        type: string
+        required: false
+      max_scale_level:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.InstantiationLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: true
+      vdu_levels:
+        type: map
+        required: true
+        entry_schema:
+          type: tosca.datatypes.nfv.VduLevel
+      scale_info:
+        type: map
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ScaleInfo
+  tosca.datatypes.nfv.VnfScaleOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaling_by_more_than_one_step_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      arbitrary_target_levels_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfHealOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      causes:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfOperateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scale:
+        type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
+      scale_to_level:
+        type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
+      heal:
+        type: tosca.datatypes.nfv.VnfHealOperationConfiguration
+      terminate:
+        type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
+      operate:
+        type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
+  tosca.datatypes.nfv.CpProtocolData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      asscociated_layer_protocol:
+        type: string
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo-wire
+        required: true
+      address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.datatypes.nfv.VnfConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      is_autoscale_enabled:
+        type: boolean
+        required: false
+      is_autoheal_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributes:
+    derived_from: tosca.datatypes.Root
+    properties:
+      extensions:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
+        required: false
+      metadata:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
+        required: false
diff --git a/s3p/templates/interfaceType/Definitions/groups.yml b/s3p/templates/interfaceType/Definitions/groups.yml
new file mode 100644
index 0000000..f8be60d
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/groups.yml
@@ -0,0 +1,133 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+group_types:
+  tosca.groups.Root:
+    description: The TOSCA Group Type all other TOSCA Group Types derive from
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  org.openecomp.groups.heat.HeatStack:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same heat stack
+    properties:
+      heat_file:
+        type: string
+        description: Heat file which associate to this group/heat stack
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: group description
+        required: true
+        status: SUPPORTED
+  org.openecomp.groups.VfModule:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same VF Module
+    properties:
+      isBase:
+        type: boolean
+        description: Whether this module should be deployed before other modules
+        required: true
+        default: false
+        status: SUPPORTED
+      vf_module_label:
+        type: string
+        required: true
+        description: |
+          Alternate textual key used to reference this VF-Module model.  Must be unique within the VNF model
+      vf_module_description:
+        type: string
+        required: true
+        description: |
+          Description of the VF-modules contents and purpose   (e.g. "Front-End" or "Database Cluster")
+      min_vf_module_instances:
+        type: integer
+        required: true
+        description: The minimum instances of this VF-Module
+      max_vf_module_instances:
+        type: integer
+        required: false
+        description: The maximum instances of this VF-Module
+      initial_count:
+        type: integer
+        required: false
+        description: |
+          The initial count of instances of the VF-Module. The value must be in the  range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances.
+      vf_module_type:
+        type: string
+        required: true
+        constraint:
+        - valid_values:
+          - Base
+          - Expansion
+      volume_group:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          "true" indicates that this VF Module model requires attachment to a Volume   Group.  VID operator must select the Volume Group instance to attach to a VF-Module  at deployment time.
+      availability_zone_count:
+        type: integer
+        required: false
+        description: |
+          Quantity of Availability Zones needed for this VF-Module     (source: Extracted from VF-Module HEAT template)
+      vfc_list:
+        type: map
+        entry_schema:
+          description: <vfc_id>:<count>
+          type: string
+        required: false
+        description: |
+          Identifies the set of VM types and their count included in the VF-Module
+  org.openecomp.groups.NetworkCollection:
+    derived_from: tosca.groups.Root
+    description: groups l3-networks in network collection
+    properties:
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function
+      network_collection_description:
+        type: string
+        required: true
+        description: network collection description, free format text
+  org.openecomp.groups.VfcInstanceGroup:
+    derived_from: tosca.groups.Root
+    description: groups VFCs with same parent port role
+    properties:
+      vfc_instance_group_function:
+        type: string
+        required: true
+        description: function of this VFC group
+      vfc_parent_port_role:
+        type: string
+        required: true
+        description: common role of parent ports of VFCs in this group
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function assigned to this group
+      subinterface_role:
+        type: string
+        required: true
+        description: common role of subinterfaces of VFCs in this group, criteria the group is created
+    capabilities:
+      vlan_assignment:
+        type: org.openecomp.capabilities.VLANAssignment
+        properties:
+          vfc_instance_group_reference:
+            type: string
diff --git a/s3p/templates/interfaceType/Definitions/interfaces.yml b/s3p/templates/interfaceType/Definitions/interfaces.yml
new file mode 100644
index 0000000..a11c716
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/interfaces.yml
@@ -0,0 +1,83 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+interface_types:
+  tosca.interfaces.nfv.vnf.lifecycle.Nfv:
+    instantiate:
+      description: Invoked upon receipt of an Instantiate VNF request
+    instantiate_start:
+      description: Invoked before instantiate
+    instantiate_end:
+      description: Invoked after instantiate
+    terminate:
+      description: Invoked upon receipt Terminate VNF request
+    terminate_start:
+      description: Invoked before terminate
+    terminate_end:
+      description: Invoked after terminate
+    modify_information:
+      description: Invoked upon receipt of a Modify VNF Information request
+    modify_information_start:
+      description: Invoked before modify_information
+    modify_information_end:
+      description: Invoked after modify_information
+    change_flavour:
+      description: Invoked upon receipt of a Change VNF Flavour request
+    change_flavour_start:
+      description: Invoked before change_flavour
+    change_flavour_end:
+      description: Invoked after change_flavour
+    change_external_connectivity:
+      description: Invoked upon receipt of a Change External VNF Connectivity request
+    change_external_connectivity_start:
+      description: Invoked before change_external_connectivity
+    change_external_connectivity_end:
+      description: Invoked after change_external_connectivity
+    operate:
+      description: Invoked upon receipt of an Operate VNF request
+    operate_start:
+      description: Invoked before operate
+    operate_end:
+      description: Invoked after operate
+    heal:
+      description: Invoked upon receipt of a Heal VNF request
+    heal_start:
+      description: Invoked before heal
+    heal_end:
+      description: Invoked after heal
+    scale:
+      description: Invoked upon receipt of a Scale VNF request
+    scale_start:
+      description: Invoked before scale
+    scale_end:
+      description: Invoked after scale
+    scale_to_level:
+      description: Invoked upon receipt of a Scale VNF to Level request
+    scale_to_level_start:
+      description: Invoked before scale_to_level
+    scale_to_level_end:
+      description: Invoked after scale_to_level
+  tosca.interfaces.node.lifecycle.Standard:
+    create:
+      description: Standard lifecycle create operation.
+    configure:
+      description: Standard lifecycle configure operation.
+    start:
+      description: Standard lifecycle start operation.
+    stop:
+      description: Standard lifecycle stop operation.
+    delete:
+      description: Standard lifecycle delete operation.
diff --git a/s3p/templates/interfaceType/Definitions/nodes.yml b/s3p/templates/interfaceType/Definitions/nodes.yml
new file mode 100644
index 0000000..62d77f4
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/nodes.yml
@@ -0,0 +1,4781 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+- artifacts.yml
+- capabilities.yml
+- interfaces.yml
+- relationships.yml
+node_types:
+  tosca.nodes.BlockStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 1 MB
+      volume_id:
+        type: string
+        required: false
+      snapshot_id:
+        type: string
+        required: false
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+  tosca.nodes.WebApplication:
+    derived_from: tosca.nodes.Root
+    properties:
+      context_root:
+        type: string
+    capabilities:
+      app_endpoint:
+        type: tosca.capabilities.Endpoint
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.WebServer
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.Database:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: the logical name of the database
+      port:
+        type: integer
+        description: the port the underlying database service will listen to for data
+      user:
+        type: string
+        description: the optional user account name for DB administration
+        required: false
+      password:
+        type: string
+        description: the optional password for the DB user account
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.DBMS
+        relationship: tosca.relationships.HostedOn
+    capabilities:
+      database_endpoint:
+        type: tosca.capabilities.Endpoint.Database
+  tosca.nodes.Container.Runtime:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+      scalable:
+        type: tosca.capabilities.Scalable
+  tosca.nodes.network.Port:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: true
+        default: 0
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        type: boolean
+        required: false
+        default: false
+      ip_range_start:
+        type: string
+        required: false
+      ip_range_end:
+        type: string
+        required: false
+    requirements:
+    - link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  tosca.nodes.Root:
+    description: The TOSCA Node Type all other TOSCA base Node Types derive from
+    attributes:
+      tosca_id:
+        type: string
+      tosca_name:
+        type: string
+      state:
+        type: string
+    capabilities:
+      feature:
+        type: tosca.capabilities.Node
+    requirements:
+    - dependency:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  tosca.nodes.network.Network:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: false
+        default: 4
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      cidr:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      network_id:
+        type: string
+        required: false
+      segmentation_id:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+        default: true
+    capabilities:
+      link:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.Compute:
+    derived_from: tosca.nodes.Root
+    attributes:
+      private_address:
+        type: string
+      public_address:
+        type: string
+      networks:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.NetworkInfo
+      ports:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.PortInfo
+    requirements:
+    - local_storage:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+      endpoint:
+        type: tosca.capabilities.Endpoint.Admin
+      os:
+        type: tosca.capabilities.OperatingSystem
+      scalable:
+        type: tosca.capabilities.Scalable
+      binding:
+        type: tosca.capabilities.network.Bindable
+  tosca.nodes.LoadBalancer:
+    derived_from: tosca.nodes.Root
+    properties:
+      algorithm:
+        type: string
+        required: false
+        status: experimental
+    capabilities:
+      client:
+        type: tosca.capabilities.Endpoint.Public
+        occurrences:
+        - 0
+        - UNBOUNDED
+        description: the Floating (IP) client’s on the public network can connect to
+    requirements:
+    - application:
+        capability: tosca.capabilities.Endpoint
+        relationship: tosca.relationships.RoutesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.DBMS:
+    derived_from: tosca.nodes.SoftwareComponent
+    properties:
+      root_password:
+        type: string
+        required: false
+        description: the optional root password for the DBMS service
+      port:
+        type: integer
+        required: false
+        description: the port the DBMS service will listen to for data and requests
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.Database
+  tosca.nodes.WebServer:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      data_endpoint: tosca.capabilities.Endpoint
+      admin_endpoint: tosca.capabilities.Endpoint.Admin
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.WebApplication
+  tosca.nodes.Container.Application:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Container
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.SoftwareComponent:
+    derived_from: tosca.nodes.Root
+    properties:
+      component_version:
+        type: version
+        required: false
+      admin_credential:
+        type: tosca.datatypes.Credential
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.ObjectStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+      maxsize:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+    capabilities:
+      storage_endpoint:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ServiceProxy:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrailV2.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+      network_policy_entries:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      shared:
+        type: string
+        description: Is virtual network shared
+        required: false
+        status: SUPPORTED
+      forwarding_mode:
+        type: string
+        description: forwarding mode of the virtual network
+        required: false
+        status: SUPPORTED
+      external:
+        type: string
+        description: Is virtual network external
+        required: false
+        status: SUPPORTED
+      allow_transit:
+        type: string
+        description: Whether this network should be transitive.
+        required: false
+        status: SUPPORTED
+      flood_unknown_unicast:
+        type: string
+        description: flood L2 packets on network
+        required: false
+        status: SUPPORTED
+      route_targets:
+        type: list
+        description: route targets associated with the virtual network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extContrailCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.service:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.v2.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.vfc.nodes.volume:
+    derived_from: tosca.nodes.BlockStorage
+  org.openecomp.nodes.VLANNetworkReceptor:
+    derived_from: tosca.nodes.Root
+    capabilities:
+      routing_configuration_internal:
+        type: org.openecomp.capabilities.RoutingConfiguration
+    requirements:
+    - vlan_assignment:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.VLANAssignment
+        relationship: org.openecomp.relationships.AssignsTo
+  org.openecomp.resource.vl.nodes.heat.network.neutron.Net:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      dhcp_agent_ids:
+        type: list
+        description: The IDs of the DHCP agent to schedule the network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      tenant_id:
+        type: string
+        description: The ID of the tenant which will own the network
+        required: false
+        status: SUPPORTED
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      shared:
+        type: boolean
+        description: Whether this network should be shared across all tenants
+        required: false
+        default: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      mtu:
+        type: scalar-unit.size
+        description: The maximum transmission unit size(in bytes) for the network
+        status: SUPPORTED
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.nova.Server:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      admin_pass:
+        type: string
+        description: The administrator password for the server
+        required: false
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      image:
+        type: string
+        description: The ID or name of the image to boot with
+        required: false
+        status: SUPPORTED
+      image_update_policy:
+        type: string
+        description: Policy on how to apply an image-id update
+        required: false
+        default: REBUILD
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REBUILD_PRESERVE_EPHEMERAL
+          - REPLACE
+          - REBUILD
+      metadata:
+        type: json
+        description: Arbitrary JSON metadata to store for this server
+        required: false
+        status: SUPPORTED
+      contrail_service_instance_ind:
+        type: boolean
+        description: Nova server related to service instance indicator
+        required: false
+        default: false
+        status: SUPPORTED
+      user_data_update_policy:
+        type: string
+        description: Policy on how to apply a user_data update
+        required: false
+        default: REPLACE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE
+          - IGNORE
+      flavor_update_policy:
+        type: string
+        description: Policy on how to apply a flavor update
+        required: false
+        default: RESIZE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - RESIZE
+          - REPLACE
+      user_data:
+        type: string
+        description: User data script to be executed by cloud-init
+        required: false
+        default: ''
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: The ID or name of the flavor to boot onto
+        required: true
+        status: SUPPORTED
+      key_name:
+        type: string
+        description: Name of keypair to inject into the server
+        required: false
+        status: SUPPORTED
+      reservation_id:
+        type: string
+        description: A UUID for the set of servers being requested
+        required: false
+        status: SUPPORTED
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      config_drive:
+        type: boolean
+        description: enable config drive on the server
+        required: false
+        status: SUPPORTED
+      personality:
+        type: map
+        description: A map of files to create/overwrite on the server upon boot
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      software_config_transport:
+        type: string
+        description: How the server should receive the metadata required for software configuration
+        required: false
+        default: POLL_SERVER_CFN
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - POLL_SERVER_CFN
+          - POLL_SERVER_HEAT
+          - POLL_TEMP_URL
+          - ZAQAR_MESSAGE
+      user_data_format:
+        type: string
+        description: How the user_data should be formatted for the server
+        required: false
+        default: HEAT_CFNTOOLS
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - SOFTWARE_CONFIG
+          - RAW
+          - HEAT_CFNTOOLS
+      diskConfig:
+        type: string
+        description: Control how the disk is partitioned when the server is created
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - AUTO
+          - MANUAL
+      name:
+        type: string
+        description: Server name
+        required: false
+        status: SUPPORTED
+      scheduler_hints:
+        type: map
+        description: Arbitrary key-value pairs specified by the client to help boot a server
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      accessIPv4:
+        type: string
+        description: The manually assigned alternative public IPv4 address of the server
+        status: SUPPORTED
+      addresses:
+        type: map
+        description: A dict of all network addresses with corresponding port_id
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo
+      accessIPv6:
+        type: string
+        description: The manually assigned alternative public IPv6 address of the server
+        status: SUPPORTED
+      instance_name:
+        type: string
+        description: AWS compatible instance name
+        status: SUPPORTED
+      name:
+        type: string
+        description: Name of the server
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      console_urls:
+        type: string
+        description: URLs of servers consoles
+        status: SUPPORTED
+  org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      description:
+        type: string
+        description: Description of the security group
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this security group, which is not required to be unique.
+        required: false
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of security group rules
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule
+    attributes:
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+    requirements:
+    - port:
+        capability: tosca.capabilities.Attachment
+        node: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.cinder.Volume:
+    derived_from: org.openecomp.resource.vfc.nodes.volume
+    properties:
+      availability_zone:
+        description: The availability zone in which the volume will be created
+        type: string
+        status: SUPPORTED
+        required: false
+      image:
+        description: If specified, the name or ID of the image to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      metadata:
+        description: Key/value pairs to associate with the volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      volume_type:
+        description: If specified, the type of volume to use, mapping to a specific backend
+        type: string
+        status: SUPPORTED
+        required: false
+      description:
+        description: A description of the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      device_type:
+        description: Device type
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - cdrom
+          - disk
+      disk_bus:
+        description: 'Bus of the device: hypervisor driver chooses a suitable default
+          if omitted'
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - ide
+          - lame_bus
+          - scsi
+          - usb
+          - virtio
+      backup_id:
+        description: If specified, the backup to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      source_volid:
+        description: If specified, the volume to use as source
+        type: string
+        status: SUPPORTED
+        required: false
+      boot_index:
+        description: Integer used for ordering the boot disks
+        type: integer
+        status: SUPPORTED
+        required: false
+      size:
+        description: The requested storage size (default unit is MB)
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+        constraints:
+        - greater_or_equal: 1 GB
+      read_only:
+        description: Enables or disables read-only access mode of volume
+        type: boolean
+        status: SUPPORTED
+        required: false
+      name:
+        description: A name used to distinguish the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      scheduler_hints:
+        description: Arbitrary key-value pairs specified by the client to help the Cinder scheduler creating a volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      swap_size:
+        description: The size of the swap, in MB
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+      delete_on_termination:
+        description: Indicate whether the volume should be deleted when the server is terminated
+        type: boolean
+        status: SUPPORTED
+        required: false
+      multiattach:
+        description: Whether allow the volume to be attached more than once
+        type: boolean
+        status: SUPPORTED
+        required: false
+    attributes:
+      display_description:
+        description: Description of the volume
+        type: string
+        status: SUPPORTED
+      attachments:
+        description: The list of attachments of the volume
+        type: string
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      encrypted:
+        description: Boolean indicating if the volume is encrypted or not
+        type: boolean
+        status: SUPPORTED
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+      created_at:
+        description: The timestamp indicating volume creation
+        type: timestamp
+        status: SUPPORTED
+      display_name:
+        description: Name of the volume
+        type: string
+        status: SUPPORTED
+      metadata_values:
+        description: Key/value pairs associated with the volume in raw dict form
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      bootable:
+        description: Boolean indicating if the volume can be booted or not
+        type: boolean
+        status: SUPPORTED
+      status:
+        description: The current status of the volume
+        type: string
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.CR:
+    derived_from: tosca.nodes.Root
+    properties:
+      cr_function:
+        type: string
+      cr_role:
+        type: string
+      cr_type:
+        type: string
+  org.openecomp.resource.vl.extVL:
+    derived_from: tosca.nodes.Root
+    description: VF Tenant oam protected network
+    properties:
+      network_type:
+        type: string
+        required: true
+        description: ECOMP supported network types.
+      network_role:
+        type: string
+        required: true
+        description: |
+          Unique label that defines the role that this network performs.   example: vce oam network, vnat sr-iov1 network
+      network_scope:
+        type: string
+        constraints:
+          valid_values:
+          - VF
+          - SERVICE
+          - GLOBAL
+        description: |
+          Uniquely identifies the network scope. Valid values for the network scope   includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects  the VFs within the service GLOBAL - Global network which can be shared by multiple services
+      network_technology:
+        type: string
+        required: true
+        description: ECOMP supported network technology
+      exVL_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+        required: true
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+        required: true
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+        required: true
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.abstract.nodes.PNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_type:
+        type: string
+      software_versions:
+        type: list
+        entry_schema:
+          type: string
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      entries:
+        type: org.openecomp.datatypes.heat.contrail.network.rule.RuleList
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: tenant_id
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of rules
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.nodes.PortMirroringConfiguration:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+    - collector:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.nodes.VRFObject:
+    derived_from: tosca.nodes.Root
+    description: provides capability to connect WAN Transport Service Proxy to VRF Entry
+    capabilities:
+      routing_configuration_external:
+        type: org.openecomp.capabilities.RoutingConfiguration
+  org.openecomp.resource.abstract.nodes.VFC:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      nfc_function:
+        type: string
+      high_availablity:
+        type: string
+        description: high_availablity
+        required: false
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      nfc_naming_code:
+        type: string
+        description: nfc code for instance naming
+        required: false
+        status: SUPPORTED
+      vm_type_tag:
+        type: string
+        description: vm type based on naming Convention
+        required: false
+        status: SUPPORTED
+      nfc_naming:
+        type: org.openecomp.datatypes.Naming
+        description: vfc naming
+      min_instances:
+        type: integer
+        description: Minimum number of VFC Instances
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      max_instances:
+        type: integer
+        description: Maximum number of VFC Instances
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 1
+  org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.abstract.nodes.VnfConfiguration:
+    derived_from: tosca.nodes.Root
+    properties:
+      allowed_flavors:
+        description: a collection of all flavor valuesets available for a given VFC
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.flavors.DeploymentFlavor
+  org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      network_ipam_refs_data:
+        type: list
+        description: IPAM references Data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData
+      network_policy_refs_data:
+        type: list
+        description: Policy references data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData
+      network_ipam_refs:
+        type: list
+        description: IPAM references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      network_policy_refs:
+        type: list
+        description: Policy references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vl.internalVL:
+    derived_from: tosca.nodes.network.Network
+    description: The AT&T internal (VF-level) Virtual Link
+  org.openecomp.resource.vl.ELine:
+    derived_from: org.openecomp.resource.vl.VL
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 0
+        - 2
+  org.openecomp.resource.vl.VL:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.Configuration:
+    derived_from: tosca.nodes.Root
+    properties:
+      type:
+        type: string
+        description: The type of the node, the configuration will be defined for it. Ex. SBC
+        required: false
+      role:
+        type: string
+        description: The role of the node, the configuration will be defined for it. Ex. Active, Standby
+        required: false
+      function:
+        type: string
+        description: The function of the node, the configuration will be defined for it. Ex. NAT Traversal
+        required: false
+  org.openecomp.resource.cp.nodes.network.v2.SubInterface:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        description: Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to fulfill but may not be able to dependent on the network the port is associated with.
+        type: string
+        required: false
+      order:
+        description: 'The order of the NIC on the compute instance (e.g. eth2). Note:
+          when binding more than one port to a single compute (aka multi vNICs) and
+          ordering is desired, it is *mandatory* that all ports will be set with an
+          order value and. The order values must represent a positive, arithmetic
+          progression that starts with 0 (e.g. 0, 1, 2, ..., n).'
+        type: integer
+        default: 0
+        required: false
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        description: Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway. Only one port that is associated to single compute node can set as default=true.
+        type: boolean
+        default: false
+        required: false
+      ip_range_start:
+        description: Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+      ip_range_end:
+        description: Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+    attributes:
+      ip_address:
+        description: The IP address would be assigned to the associated compute instance.
+        type: string
+    requirements:
+    - subinterface_link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  org.openecomp.resource.cp.v2.extCP:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    description: The SDC External Connection Point base type
+    capabilities:
+      port_mirroring:
+        type: org.openecomp.capabilities.PortMirroring
+  org.openecomp.resource.vfc.nodes.Compute:
+    derived_from: tosca.nodes.Compute
+    capabilities:
+      disk.ephemeral.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.ephemeral.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of ephemeral disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: instance
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: instance
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Existence of instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu.delta
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used since previous datapoint
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Delta
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: '%'
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu_util
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average CPU utilization
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.root.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of root disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: vcpu
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: vcpus
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of virtual CPUs allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance from the amount of its allocated memory
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.resident
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance on the physical machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.MultiFlavorVFC:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      images:
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.ImageInfo
+        required: false
+  org.openecomp.nodes.PortMirroringConfigurationByPolicy:
+    derived_from: tosca.nodes.Root
+    properties:
+      collector_node:
+        type: string
+        description: The name of the Collector Proxy
+        required: true
+      policy_name:
+        type: string
+        description: The name of the policy for selection of the collector interfaces
+        required: true
+      equip_model:
+        type: string
+        description: The name of the equipment type of the collector, i.e. Cisco 4500x
+        required: true
+      equip_vendor:
+        type: string
+        description: The name of the equipment vendor of the collector, i.e. Cisco
+        required: true
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.VF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_naming_code:
+        type: string
+      nf_type:
+        type: string
+      nf_naming:
+        type: org.openecomp.datatypes.Naming
+        Default: true
+      availability_zone_max_count:
+        type: integer
+        default: 1
+        constraints:
+        - valid_values:
+          - 0
+          - 1
+          - 2
+      min_instances:
+        type: integer
+      max_instances:
+        type: integer
+      multi_stage_design:
+        type: boolean
+        default: false
+  org.openecomp.resource.vl.nodes.network.Network:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ForwardingPath:
+    derived_from: tosca.nodes.Root
+    properties:
+      target_range:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          description: Identifier of the reciever port of the VNF or the service
+          type: integer
+      protocol:
+        type: string
+        description: protocol type that runs on the link
+        required: true
+        status: SUPPORTED
+    requirements:
+    - forwarder:
+        capability: org.openecomp.capabilities.Forwarder
+        relationship: org.openecomp.relationships.ForwardsTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.nodes.heat.network.contrail.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.SubInterface:
+    derived_from: tosca.nodes.network.Port
+  org.openecomp.resource.vfc.nodes.heat.contrail.Compute:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the VM
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of active VMs
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: VMs of this compute
+        status: SUPPORTED
+      status:
+        type: string
+        description: status of the compute
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.Port:
+    derived_from: tosca.nodes.network.Port
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        description: Must correlate to the set of defined “network-role�? tag identifiers from the associated HEAT template
+        type: string
+        required: true
+      mac_requirements:
+        description: identifies MAC address assignments to the CP
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+      vlan_requirements:
+        description: identifies vlan address assignments to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+      ip_requirements:
+        description: identifies IP requirements to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+      subinterface_indicator:
+        description: identifies if Port is having Sub Interface
+        type: boolean
+        required: false
+        default: false
+      related_networks:
+        type: list
+        description: Related Networks List.
+        required: false
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+    capabilities:
+      network.incoming.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder:
+        type: org.openecomp.capabilities.Forwarder
+      network.outgoing.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outpoing.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.nodes.VRFEntry:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - routing_configuration_internal:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+    - routing_configuration_external:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+  org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.cp.extCP:
+    derived_from: tosca.nodes.Root
+    description: The SDC Connection Point base type all other CP derive from
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        type: string
+        required: true
+        description: Must correlate to the set of defined “network-role” tag identifiers from the associated HEAT template
+      mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+        description: identifies MAC address assignments to the CP
+      vlan_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+        description: identifies vlan address assignments to the CP
+      ip_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+        description: identifies IP requirements to the CP
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - virtualBinding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+    - external_virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        node: org.openecomp.resource.vl.VL
+    capabilities:
+      internal_connectionPoint:
+        type: tosca.capabilities.Node
+        valid_source_type:
+        - tosca.nodes.network.Port
+  org.openecomp.nodes.FabricConfiguration:
+    derived_from: org.openecomp.nodes.Configuration
+    requirements:
+    - fabric_configuration_monitoring:
+        capability: org.openecomp.capabilities.FabricConfiguration
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      static_routes_list:
+        type: list
+        description: Static routes enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      ordered_interfaces:
+        type: boolean
+        description: Indicates if service interface are ordered
+        required: false
+        default: false
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      service_interface_type_list:
+        type: list
+        description: List of interface types
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - management
+            - left
+            - right
+            - other
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      interface_list:
+        type: list
+        description: List of interfaces
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+      shared_ip_list:
+        type: list
+        description: Shared ips enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the Service Instance
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: The FQ name of the service instance
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service Template of the Service Instance
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of service VMs active for this Service Instance
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: The name of the service instance
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: Service VMs for the Service Instance
+        status: SUPPORTED
+      status:
+        type: string
+        description: Status of the service instance
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.AbstractSubstitute:
+    derived_from: tosca.nodes.Root
+    properties:
+      service_template_filter:
+        type: org.openecomp.datatypes.heat.substitution.SubstitutionFiltering
+        description: Substitution Filter
+        required: true
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.heat.network.neutron.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extNeutronCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+        required: true
+    capabilities:
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.Cp:
+    derived_from: tosca.nodes.Root
+    properties:
+      layer_protocol:
+        type: list
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - ethernet
+            - mpls
+            - odu2
+            - ipv4
+            - ipv6
+            - pseudo_wire
+        required: true
+      role:
+        type: string
+        constraints:
+        - valid_values:
+          - root
+          - leaf
+        required: false
+      description:
+        type: string
+        required: false
+      protocol_data:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.CpProtocolData
+        required: true
+      trunk_mode:
+        type: boolean
+        required: true
+      allowed_address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.nodes.nfv.VnfVirtualLinkDesc:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_flavours:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VlFlavour
+        required: true
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  org.openecomp.resource.vfc.AllottedResource:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+      role:
+        type: string
+        required: true
+        description: Unique label that defines the role that this allotted resource performs
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      target_network_role:
+        type: string
+        required: true
+        description: Target network role
+    requirements:
+    - service_dependency:
+        capability: org.openecomp.capabilities.AllottedResource
+        relationship: tosca.relationships.DependsOn
+        node: tosca.services.Root
+  tosca.nodes.nfv.ext.zte.VDU:
+    derived_from: tosca.nodes.Root
+    properties:
+      manual_scale_select_vim:
+        type: boolean
+        required: false
+      vdu_type:
+        type: string
+        required: false
+      watchdog:
+        type: tosca.datatypes.nfv.ext.zte.WatchDog
+        required: false
+      name:
+        type: string
+        required: false
+      local_affinity_antiaffinity_rule:
+        type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
+        required: false
+      support_scaling:
+        type: boolean
+        required: false
+      storage_policy:
+        type: string
+        required: false
+      key_vdu:
+        type: boolean
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+      inject_data_list:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.InjectData
+    requirements:
+    - guest_os:
+        capability: tosca.capabilities.nfv.ext.GuestOs
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage:
+        capability: tosca.capabilities.nfv.ext.LocalAttachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - volume_storage:
+        capability: tosca.capabilities.Attachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency:
+        capability: tosca.capabilities.Node
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      scalable:
+        type: tosca.capabilities.Scalable
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+      nfv_compute:
+        type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
+      virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+  tosca.nodes.nfv.VDU:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      Virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    properties:
+      bitrate_requirement:
+        type: integer
+        required: false
+      vnic_name:
+        type: string
+        required: false
+      vnic_order:
+        type: integer
+        required: false
+      vnic_type:
+        type: string
+        constraints:
+        - valid_values:
+          - normal
+          - macvtap
+          - direct
+          - baremetal
+          - direct-physical
+          - virtio-forwarder
+        required: false
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+        required: false
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+    - virtual_binding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        relationship: tosca.relationships.nfv.VirtualBindsTo
+        node: tosca.nodes.nfv.Vdu.Compute
+  org.openecomp.resource.vfc.NSD:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      nsd_id:
+        type: string
+        required: true
+        description: ID of the NSD
+      nsd_designer:
+        type: string
+        required: true
+        description: Designer of the NSD
+      nsd_version:
+        type: string
+        required: true
+        description: Version of the NSD
+      nsd_name:
+        type: string
+        required: true
+        description: Name of the NSD
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+        required: true
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+        required: true
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+        required: false
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      user_data:
+        type: string
+        required: false
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+    requirements:
+    - virtual_storage:
+        capability: tosca.capabilities.nfv.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+        node: tosca.nodes.nfv.Vdu.VirtualStorage
+        occurences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.GenericNeutronNet:
+    derived_from: org.openecomp.resource.vl.extVL
+    description: Generic Neutron Network
+    properties:
+      network_role:
+        type: string
+        description: |
+          Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+      network_scope:
+        type: string
+      network_ecomp_naming:
+        type: org.openecomp.datatypes.EcompNaming
+      network_type:
+        type: string
+        description: ECOMP supported network types.
+        default: NEUTRON
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+      network_technology:
+        type: string
+        description: ECOMP supported network technology
+        default: NEUTRON
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      type_of_storage:
+        type: string
+        constraints:
+        - valid_values:
+          - volume
+          - object
+          - root
+          - block
+        required: true
+      size_of_storage:
+        type: scalar-unit.size
+        required: true
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      rdma_enabled:
+        type: boolean
+        required: false
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+  tosca.nodes.nfv.ext.zte.VL:
+    derived_from: tosca.nodes.Root
+    properties:
+      segmentation_id:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      is_predefined:
+        type: boolean
+        required: false
+      mtu:
+        type: integer
+        required: false
+      dns_nameservers:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+      network_id:
+        type: string
+        required: false
+      host_routes:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.HostRouteInfo
+      ip_version:
+        type: integer
+        required: false
+      vendor:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      vlan_transparent:
+        type: boolean
+        required: false
+      cidr:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.ext.LocalStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: string
+        required: false
+      disk_type:
+        type: string
+        required: false
+    capabilities:
+      local_attachment:
+        type: tosca.capabilities.nfv.ext.LocalAttachment
+  tosca.nodes.nfv.ext.zte.CP:
+    derived_from: tosca.nodes.Root
+    properties:
+      guest_os_mtu:
+        type: integer
+        required: false
+      bandwidth:
+        type: integer
+        required: false
+      interface_name:
+        type: string
+        required: false
+      allowed_address_pairs:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.AddressPairs
+      ip_address:
+        type: string
+        required: false
+      bond:
+        type: string
+        required: false
+      proxiedVNFs:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      sfc_encapsulation:
+        type: string
+        required: false
+      floating_ip_address:
+        type: tosca.datatypes.nfv.ext.FloatingIP
+        required: false
+      service_ip_address:
+        required: false
+        type: string
+      mac_address:
+        type: string
+        required: false
+      proxiedVNFtype:
+        type: string
+        required: false
+      macbond:
+        type: string
+        required: false
+      vnic_type:
+        type: string
+        required: false
+      direction:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: false
+    requirements:
+    - forwarder:
+        capability: tosca.capabilities.nfv.Forwarder
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualbinding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualLink:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      forwarder:
+        type: tosca.capabilities.nfv.Forwarder
+  tosca.nodes.nfv.ext.ImageFile:
+    derived_from: tosca.nodes.Root
+    properties:
+      file_url:
+        type: string
+        required: false
+      container_type:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      disk_format:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+    capabilities:
+      guest_os:
+        type: tosca.capabilities.nfv.ext.GuestOs
+      image_fle:
+        type: tosca.capabilities.nfv.ext.ImageFile
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      descriptor_id:
+        type: string
+        required: true
+      descriptor_version:
+        type: string
+        required: true
+      provider:
+        type: string
+        required: true
+      product_name:
+        type: string
+        required: true
+      software_version:
+        type: string
+        required: true
+      product_info_name:
+        type: string
+        required: false
+      product_info_description:
+        type: string
+        required: false
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+        required: true
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      default_localization_language:
+        type: string
+        required: false
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+        required: false
+      modifiable_attributes:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
+        required: false
+      flavour_id:
+        type: string
+        required: true
+      flavour_description:
+        type: string
+        required: true
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Nfv:
+        type: tosca.interfaces.nfv.vnf.lifecycle.Nfv
+  org.openecomp.resource.vl.overlaytunnel:
+    derived_from: tosca.nodes.Root
+    description: This entity represents abstract overlay tunnel end point.
+    properties:
+      id:
+        type: string
+        description: Identifier of the Tunnel Endpoint node.
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      name:
+        type: string
+        description: Overlay tunnel name used by for reference by the administrator.
+        required: false
+      description:
+        type: string
+        description: Additional comments/information about overlay tunnel.
+        required: false
+      tunnelType:
+        type: string
+        constraints:
+        - valid_values:
+          - L3-DCI
+          - L2-DCI
+        description: type defines if the overlay tunnel is L3-DCI tunnel or L2-DCI tunnel.
+        required: true
+      site1_id:
+        type: string
+        description: Identifier of first DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site1_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site1_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site1_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site1_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site1_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site1_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site1_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site1_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site1_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+      site2_id:
+        type: string
+        description: Identifier of second DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site2_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site2_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site2_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site2_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site2_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site2_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site2_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site2_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site2_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.vl.underlayvpn:
+    derived_from: tosca.nodes.Root
+    description: undelay vpn type definitions
+    properties:
+      id:
+        type: string
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      vendor:
+        type: string
+        required: false
+      template_author:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      serviceType:
+        type: string
+        description: type of VPN service
+        required: false
+        default: l3vpn_sptn
+      topology:
+        type: string
+        description: type of VPN topology
+        constraints:
+        - valid_values:
+          - full-mesh
+          - point_to_multipoint
+          - point_to_point
+          - singlePoint
+          - hubspoke
+          - hubspoke_via_hubce
+          - hubspoke_disjoint
+          - ADD_DROP_Z
+        required: false
+        default: full-mesh
+      technology:
+        type: string
+        description: type of VPN technology
+        constraints:
+        - valid_values:
+          - mpls
+          - rosen multivpn
+          - vxlan overlay l3vpn
+          - eth over sdh
+          - vlan
+        required: false
+        default: mpls
+      site1_name:
+        type: string
+        description: name of first site
+        required: false
+      site2_name:
+        type: string
+        description: name of second site
+        required: false
+      sna1_name:
+        type: string
+        description: name of site network accesses associated with the site1
+        required: false
+      sna2_name:
+        type: string
+        description: name of site network accesses associated with the site2
+        required: false
+      pe1_id:
+        type: string
+        description: id of provider edge1, it can be name or ip or uuid
+        required: false
+      pe2_id:
+        type: string
+        description: id of provider edge2, it can be name or ip or uuid
+        required: false
+      ac1_id:
+        type: string
+        description: id of attachment circuit1, it can be port name or uuid
+        required: false
+      ac1_svlan:
+        type: integer
+        description: ac1 svlan
+        required: false
+      ac1_ip:
+        type: string
+        description: ip of ac1, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_peer_ip:
+        type: string
+        description: ip of ac1 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_route:
+        type: string
+        description: route configure of ac1, only for layer3 vpn
+        required: false
+      ac1_protocol:
+        type: string
+        description: routing protocol type of ac1, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        required: false
+      ac1_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac1, , only required for ebgp protocol
+        required: false
+      ac2_id:
+        type: string
+        description: id of attachment circuit2, it can be port name or uuid
+        required: false
+      ac2_svlan:
+        type: integer
+        description: ac2 svlan
+        required: false
+      ac2_ip:
+        type: string
+        description: ip of ac2, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_peer_ip:
+        type: string
+        description: ip of ac2 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_route:
+        type: string
+        description: route configure of ac2, only for layer3 vpn
+        required: false
+      ac2_protocol:
+        type: string
+        description: routing protocol type of ac2, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        default: STATIC
+        required: false
+      ac2_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac2, , only required for ebgp protocol
+        required: false
+      af_type:
+        type: string
+        description: address family type
+        default: ipv4
+        required: false
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
diff --git a/s3p/templates/interfaceType/Definitions/policies.yml b/s3p/templates/interfaceType/Definitions/policies.yml
new file mode 100644
index 0000000..6063d08
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/policies.yml
@@ -0,0 +1,134 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+policy_types:
+  tosca.policies.Root:
+    description: The TOSCA Policy Type all other TOSCA Policy Types derive from
+  tosca.policies.Placement:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes.
+  tosca.policies.Scaling:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes.
+  tosca.policies.Update:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes.
+  tosca.policies.Performance:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or groups of nodes.
+  org.openecomp.policies.placement.Antilocate:
+    derived_from: tosca.policies.Placement
+    description: My placement policy for separation based upon container type value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      container_type:
+        type: string
+        description: container type
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.Colocate:
+    derived_from: tosca.policies.Placement
+    description: Keep associated nodes (groups of nodes) based upon affinity value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      affinity:
+        type: string
+        description: affinity
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.valet.Diversity:
+    derived_from: tosca.policies.Placement
+    description: Valet Diversity
+    properties:
+      level:
+        type: string
+        description: diversity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Exclusivity:
+    derived_from: tosca.policies.Placement
+    description: Valet Exclusivity
+    properties:
+      level:
+        type: string
+        description: exclusivity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Affinity:
+    derived_from: tosca.policies.Placement
+    description: Valet Affinity
+    properties:
+      level:
+        type: string
+        description: affinity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.scaling.Fixed:
+    derived_from: tosca.policies.Scaling
+    properties:
+      quantity:
+        description: the exact number of instances to keep up
+        type: integer
+        required: true
+  org.openecomp.policies.External:
+    derived_from: tosca.policies.Root
+    description: externally managed policy (for example, type="network assignment", source="Policy Manager", name="route target")
+    properties:
+      source:
+        type: string
+        description: The name of the server that exposes the policy with predefined type and name.
+        required: false
+      type:
+        type: string
+        description: The type (category) of the policy same as it is defined in the source.
+        required: false
+      name:
+        type: string
+        description: The name of the policy, that related to specific type, same as it is defined in the source.
+        required: false
diff --git a/s3p/templates/interfaceType/Definitions/relationships.yml b/s3p/templates/interfaceType/Definitions/relationships.yml
new file mode 100644
index 0000000..b1b554d
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/relationships.yml
@@ -0,0 +1,142 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- capabilities.yml
+- data.yml
+- interfaces.yml
+relationship_types:
+  tosca.relationships.Root:
+    description: This is the default (root) TOSCA Relationship Type definition that all other TOSCA Relationship Types derive from.
+    attributes:
+      tosca_id:
+        description: A unique identifier of the realized instance of a Relationship Template that derives from any TOSCA normative type.
+        type: string
+      tosca_name:
+        description: This attribute reflects the name of the Relationship Template as defined in the TOSCA service template. This name is not unique to the realized instance model of corresponding deployed application as each template in the model can result in one or more instances (e.g., scaled) when orchestrated to a provider environment.
+        type: string
+      state:
+        description: The state of the relationship instance.
+        type: string
+        default: initial
+    interfaces:
+      Configure:
+        type: tosca.interfaces.relationship.Configure
+  tosca.relationships.RoutesTo:
+    derived_from: tosca.relationships.ConnectsTo
+    description: This type represents an intentional network routing between two Endpoints in different networks.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+  tosca.relationships.network.LinksTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This relationship type represents an association relationship between Port and Network node types.
+    valid_target_types:
+    - tosca.capabilities.network.Linkable
+  tosca.relationships.AttachesTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents an attachment relationship between two nodes. For example, an AttachesTo relationship type would be used for attaching a storage node to a Compute node.
+    valid_target_types:
+    - tosca.capabilities.Attachment
+    properties:
+      location:
+        description: 'The relative location (e.g., path on the file system), which
+          provides the root location to address an attached node. e.g., a mount point
+          / path such as ''/usr/data''. Note: The user must provide it and it cannot
+          be "root".'
+        type: string
+        constraints:
+        - min_length: 1
+      device:
+        description: The logical device name which for the attached device (which is represented by the target node in the model). e.g., '/dev/hda1'.
+        type: string
+        required: false
+    attributes:
+      device:
+        description: 'The logical name of the device as exposed to the instance. Note:
+          A runtime property that gets set when the model gets instantiated by the
+          orchestrator.'
+        type: string
+  tosca.relationships.network.BindsTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This type represents a network association relationship between Port and Compute node types.
+    valid_target_types:
+    - tosca.capabilities.network.Bindable
+  tosca.relationships.HostedOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a hosting relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Container
+  tosca.relationships.DependsOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a general dependency relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Node
+  tosca.relationships.ConnectsTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents a network connection relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+    properties:
+      credential:
+        type: tosca.datatypes.Credential
+        required: false
+  org.openecomp.relationships.VolumeAttachesTo:
+    derived_from: org.openecomp.relationships.AttachesTo
+    description: This type represents an attachment relationship for associating volume
+    properties:
+      volume_id:
+        description: The ID of the volume to be attached
+        type: string
+        status: SUPPORTED
+        required: true
+      instance_uuid:
+        description: The ID of the server to which the volume attaches
+        type: string
+        status: SUPPORTED
+        required: true
+    attributes:
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+  org.openecomp.relationships.AttachesTo:
+    derived_from: tosca.relationships.AttachesTo
+    description: This type represents an attachment relationship
+    properties:
+      location:
+        description: The relative location (e.g., path on the file system), which provides the root location to address an attached node.
+        type: string
+        status: SUPPORTED
+        required: false
+  org.openecomp.relationships.ForwardsTo:
+    derived_from: tosca.relationships.Root
+    valid_target_types:
+    - org.openecomp.capabilities.Forwarder
+  org.openecomp.relationships.AssignsTo:
+    derived_from: tosca.relationships.Root
+  org.openecomp.relationships.RoutesTo:
+    derived_from: tosca.relationships.RoutesTo
+    description: This type represents an intentional network routing between internal and external network
+  tosca.relationships.nfv.VirtualBindsTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualBindable
+  tosca.relationships.nfv.VirtualLinksTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualLinkable
+  tosca.relationships.nfv.Vdu.AttachedTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualStorage
diff --git a/s3p/templates/interfaceType/Definitions/resource-VduCompute-template.yml b/s3p/templates/interfaceType/Definitions/resource-VduCompute-template.yml
new file mode 100644
index 0000000..546f88a
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/resource-VduCompute-template.yml
@@ -0,0 +1,103 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+  UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+  name: VDU Compute
+  description: VDU Compute
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    description: VDU Compute
+    properties:
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+      name:
+        type: string
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+      description:
+        type: string
+      user_data:
+        type: string
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
diff --git a/s3p/templates/interfaceType/Definitions/resource-VduCp-template.yml b/s3p/templates/interfaceType/Definitions/resource-VduCp-template.yml
new file mode 100644
index 0000000..ec26637
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/resource-VduCp-template.yml
@@ -0,0 +1,59 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+  UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+  name: VDU Cp
+  description: VDU Cp
+  type: CP
+  category: Generic
+  subcategory: Network Elements
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    description: VDU Cp
+    properties:
+      vnic_name:
+        type: string
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+      bitrate_requirement:
+        type: integer
+      vnic_order:
+        type: integer
+      vnic_type:
+        type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/interfaceType/Definitions/resource-VduVirtualstorage-template.yml b/s3p/templates/interfaceType/Definitions/resource-VduVirtualstorage-template.yml
new file mode 100644
index 0000000..566f705
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/resource-VduVirtualstorage-template.yml
@@ -0,0 +1,50 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+  UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+  name: VDU VirtualStorage
+  description: VDU VirtualStorage
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    description: VDU VirtualStorage
+    properties:
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+      size_of_storage:
+        type: scalar-unit.size
+      rdma_enabled:
+        type: boolean
+      type_of_storage:
+        type: string
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/interfaceType/Definitions/resource-Vgw1181049-template-interface.yml b/s3p/templates/interfaceType/Definitions/resource-Vgw1181049-template-interface.yml
new file mode 100644
index 0000000..93cb070
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/resource-Vgw1181049-template-interface.yml
@@ -0,0 +1,208 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.resource.vf.Vgw1181049:
+    derived_from: org.openecomp.resource.abstract.nodes.VF
+    properties:
+      nf_naming:
+        default:
+          ecomp_generated_naming: true
+        type: org.openecomp.datatypes.Naming
+        required: false
+      multi_stage_design:
+        default: false
+        type: boolean
+        required: false
+      nf_function:
+        type: string
+        required: false
+      nf_naming_code:
+        type: string
+        required: false
+      availability_zone_max_count:
+        default: 1
+        type: integer
+        required: false
+      nf_role:
+        type: string
+        required: false
+      min_instances:
+        type: integer
+        required: false
+      max_instances:
+        type: integer
+        required: false
+      nf_type:
+        type: string
+        required: false
+    capabilities:
+      vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/interfaceType/Definitions/resource-Vgw1181049-template.yml b/s3p/templates/interfaceType/Definitions/resource-Vgw1181049-template.yml
new file mode 100644
index 0000000..0d4423e
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/resource-Vgw1181049-template.yml
@@ -0,0 +1,286 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+  UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+  name: ##RANDOM_RESOURCE_NAME##
+  description: test
+  type: VF
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: vendor
+  resourceVendorRelease: '1.0'
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+- resource-VNF:
+    file: resource-Vnf-template.yml
+- resource-VnfVirtualLink:
+    file: resource-Vnfvirtuallink-template.yml
+- resource-VDU Cp:
+    file: resource-VduCp-template.yml
+- resource-VDU VirtualStorage:
+    file: resource-VduVirtualstorage-template.yml
+- resource-VDU Compute:
+    file: resource-VduCompute-template.yml
+topology_template:
+  inputs:
+    nf_naming:
+      default:
+        ecomp_generated_naming: true
+      type: org.openecomp.datatypes.Naming
+      required: false
+    multi_stage_design:
+      default: false
+      type: boolean
+      required: false
+    nf_function:
+      type: string
+      required: false
+    nf_naming_code:
+      type: string
+      required: false
+    availability_zone_max_count:
+      default: 1
+      type: integer
+      required: false
+    nf_role:
+      type: string
+      required: false
+    min_instances:
+      type: integer
+      required: false
+    max_instances:
+      type: integer
+      required: false
+    nf_type:
+      type: string
+      required: false
+  node_templates:
+    LLU_VNF:
+      type: tosca.nodes.nfv.VNF
+      metadata:
+        invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+        UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+        customizationUUID: 06bffc87-30c7-42ad-b99d-19c6c13405dc
+        version: '1.0'
+        name: VNF
+        description: VNF
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        descriptor_id: b1bb0ce7-2222-4fa7-95ed-4840d70a1177
+        provider: onap
+        vnfm_info:
+        - gvnfm
+        flavour_id: simple
+        descriptor_version: '1.0'
+        software_version: '1.0'
+        flavour_description: simple
+        product_name: vcpe_vgw
+    VL_mux_gw_private_net:
+      type: tosca.nodes.nfv.VnfVirtualLink
+      metadata:
+        invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+        UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+        customizationUUID: fbea54ef-8f8b-4f35-81d6-997a47282698
+        version: '1.0'
+        name: VnfVirtualLink
+        description: VnfVirtualLink
+        type: VL
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        vl_profile:
+          min_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          max_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          networkName: mux_gw_private_net_id
+          cidr: 192.168.0.0/24
+          dhcpEnabled: false
+        connectivity_type:
+          layer_protocol: ipv4
+    VDU_vgw_0:
+      type: tosca.nodes.nfv.Vdu.Compute
+      metadata:
+        invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+        UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+        customizationUUID: 93c3f2e3-67e7-4bb4-be11-8a48df924c4c
+        version: '1.0'
+        name: VDU Compute
+        description: VDU Compute
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        configurable_properties:
+          additional_vnfc_configurable_properties: {
+            }
+        name: vdu_vgw_0
+        description: vgw
+        vdu_profile:
+          watchdog: none
+          min_number_of_instances: 1
+          max_number_of_instances: 1
+      requirements:
+      - virtual_storage:
+          capability: virtual_storage
+          node: VirtualStorage_root_all
+      capabilities:
+        virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+    VirtualStorage_root_all:
+      type: tosca.nodes.nfv.Vdu.VirtualStorage
+      metadata:
+        invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+        UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+        customizationUUID: dc20e1ad-aed9-4154-b2b4-3a702eee49a7
+        version: '1.0'
+        name: VDU VirtualStorage
+        description: VDU VirtualStorage
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        size_of_storage: 40 GB
+        type_of_storage: root
+    Cp_vgw_mux_gw_private_net:
+      type: tosca.nodes.nfv.VduCp
+      metadata:
+        invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+        UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+        customizationUUID: b5ff315f-effc-46e9-a0c5-aec1954845e0
+        version: '1.0'
+        name: VDU Cp
+        description: VDU Cp
+        type: CP
+        category: Generic
+        subcategory: Network Elements
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        trunk_mode: false
+        virtual_network_interface_requirements:
+        - network_interface_requirements:
+            interfaceType: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform":"generic", "mandatory": "true", "configurationValue": "SR-IOV"}'
+          name: dpdk support
+          support_mandatory: true
+        protocol_data:
+        - asscociated_layer_protocol: ipv4
+          address_data:
+            address_type: ip_address
+            l3_address_data:
+              fixed_ip_address:
+              - 192.168.0.1
+              ip_address_assignment: false
+              floating_ip_activated: false
+        layer_protocol:
+        - ipv4
+      requirements:
+      # Uncomment when POLICY-1254 fixed
+      #- virtual_link:
+      #    capability: virtual_linkable
+      #    node: VL_mux_gw_private_net
+      - virtual_binding:
+          capability: virtual_binding
+          node: VDU_vgw_0
+  substitution_mappings:
+    node_type: org.openecomp.resource.vf.Vgw1181049
+    capabilities:
+      vl_mux_gw_private_net.feature:
+      - vl_mux_gw_private_net
+      - feature
+      cp_vgw_mux_gw_private_net.feature:
+      - cp_vgw_mux_gw_private_net
+      - feature
+      vdu_vgw_0.virtual_compute:
+      - vdu_vgw_0
+      - virtual_compute
+      vdu_vgw_0.virtual_binding:
+      - vdu_vgw_0
+      - virtual_binding
+      virtualstorage_root_all.virtual_storage:
+      - virtualstorage_root_all
+      - virtual_storage
+      llu_vnf.feature:
+      - llu_vnf
+      - feature
+      vl_mux_gw_private_net.virtual_linkable:
+      - vl_mux_gw_private_net
+      - virtual_linkable
+      vl_mux_gw_private_net.monitoring_parameter:
+      - vl_mux_gw_private_net
+      - monitoring_parameter
+      vdu_vgw_0.monitoring_parameter:
+      - vdu_vgw_0
+      - monitoring_parameter
+      virtualstorage_root_all.feature:
+      - virtualstorage_root_all
+      - feature
+      vdu_vgw_0.feature:
+      - vdu_vgw_0
+      - feature
+    requirements:
+      vdu_vgw_0.virtual_storage:
+      - vdu_vgw_0
+      - virtual_storage
+      vl_mux_gw_private_net.dependency:
+      - vl_mux_gw_private_net
+      - dependency
+      virtualstorage_root_all.dependency:
+      - virtualstorage_root_all
+      - dependency
+      vdu_vgw_0.dependency:
+      - vdu_vgw_0
+      - dependency
+      cp_vgw_mux_gw_private_net.virtual_binding:
+      - cp_vgw_mux_gw_private_net
+      - virtual_binding
+      cp_vgw_mux_gw_private_net.dependency:
+      - cp_vgw_mux_gw_private_net
+      - dependency
+      llu_vnf.dependency:
+      - llu_vnf
+      - dependency
+      llu_vnf.virtual_link:
+      - llu_vnf
+      - virtual_link
+      cp_vgw_mux_gw_private_net.virtual_link:
+      - cp_vgw_mux_gw_private_net
+      - virtual_link
diff --git a/s3p/templates/interfaceType/Definitions/resource-Vnf-template.yml b/s3p/templates/interfaceType/Definitions/resource-Vnf-template.yml
new file mode 100644
index 0000000..121aba2
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/resource-Vnf-template.yml
@@ -0,0 +1,70 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+  UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+  name: VNF
+  description: VNF
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    description: VNF
+    properties:
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+      product_info_name:
+        type: string
+      default_localization_language:
+        type: string
+      flavour_id:
+        type: string
+      flavour_description:
+        type: string
+      product_name:
+        type: string
+      descriptor_id:
+        type: string
+      product_info_description:
+        type: string
+      provider:
+        type: string
+      descriptor_version:
+        type: string
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+      software_version:
+        type: string
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
diff --git a/s3p/templates/interfaceType/Definitions/resource-Vnfvirtuallink-template.yml b/s3p/templates/interfaceType/Definitions/resource-Vnfvirtuallink-template.yml
new file mode 100644
index 0000000..d39b1b3
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/resource-Vnfvirtuallink-template.yml
@@ -0,0 +1,57 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+  UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+  name: VnfVirtualLink
+  description: VnfVirtualLink
+  type: VL
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    description: VnfVirtualLink
+    properties:
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+      description:
+        type: string
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/interfaceType/Definitions/service-Testns8-template-interface.yml b/s3p/templates/interfaceType/Definitions/service-Testns8-template-interface.yml
new file mode 100644
index 0000000..45fc306
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/service-Testns8-template-interface.yml
@@ -0,0 +1,176 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.service.Testns8:
+    derived_from: org.openecomp.resource.abstract.nodes.service
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+    requirements:
+    - vgw11810490.llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - vgw11810490.llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/interfaceType/Definitions/service-Testns8-template.yml b/s3p/templates/interfaceType/Definitions/service-Testns8-template.yml
new file mode 100644
index 0000000..9d9bdc3
--- /dev/null
+++ b/s3p/templates/interfaceType/Definitions/service-Testns8-template.yml
@@ -0,0 +1,135 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 5be056bd-1ecd-4c14-9465-3bbc994190ee
+  UUID: 188ed3c6-1573-4b2d-9d3f-a03693bed79b
+  name: TestNs8
+  description: test
+  type: Service
+  category: Network Service
+  serviceType: ''
+  serviceRole: ''
+  instantiationType: A-la-carte
+  serviceEcompNaming: true
+  ecompGeneratedNaming: true
+  namingPolicy: ''
+  environmentContext: General_Revenue-Bearing
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- service-TestNs8-interface:
+    file: service-Testns8-template-interface.yml
+- resource-vgw1181049:
+    file: resource-Vgw1181049-template.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+topology_template:
+  node_templates:
+    vgw1181049 0:
+      type: org.openecomp.resource.vf.Vgw1181049
+      metadata:
+        invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+        UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+        customizationUUID: 32efc3ac-6fd2-4cda-9f15-592e54f41560
+        version: '1.0'
+        name: ##RANDOM_RESOURCE_NAME##
+        description: test
+        type: VF
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: vendor
+        resourceVendorRelease: '1.0'
+        resourceVendorModelNumber: ''
+      properties:
+        nf_naming:
+          ecomp_generated_naming: true
+        multi_stage_design: false
+        availability_zone_max_count: 1
+      capabilities:
+        vdu_vgw_0.virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+              vdu_memory_requirements:
+                numberOfPages: '{"schemaVersion": "0","schemaSelector": "","hardwarePlatform":
+                  "generic","mandatory": "true", "configurationValue": "1024"}'
+                memoryPageSize: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform":
+                  "generic", "mandatory": "true", "configurationValue": "2 MB"}'
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+  substitution_mappings:
+    node_type: org.openecomp.service.Testns8
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+      - vgw11810490
+      - virtualstorage_root_all.virtual_storage
+      vgw11810490.llu_vnf.feature:
+      - vgw11810490
+      - llu_vnf.feature
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+      - vgw11810490
+      - vdu_vgw_0.monitoring_parameter
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+      - vgw11810490
+      - vl_mux_gw_private_net.monitoring_parameter
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.feature
+      vgw11810490.vl_mux_gw_private_net.feature:
+      - vgw11810490
+      - vl_mux_gw_private_net.feature
+      vgw11810490.vdu_vgw_0.feature:
+      - vgw11810490
+      - vdu_vgw_0.feature
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+      - vgw11810490
+      - vl_mux_gw_private_net.virtual_linkable
+      vgw11810490.vdu_vgw_0.virtual_binding:
+      - vgw11810490
+      - vdu_vgw_0.virtual_binding
+      vgw11810490.virtualstorage_root_all.feature:
+      - vgw11810490
+      - virtualstorage_root_all.feature
+      vgw11810490.vdu_vgw_0.virtual_compute:
+      - vgw11810490
+      - vdu_vgw_0.virtual_compute
+    requirements:
+      vgw11810490.vdu_vgw_0.virtual_storage:
+      - vgw11810490
+      - vdu_vgw_0.virtual_storage
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_link
+      vgw11810490.llu_vnf.dependency:
+      - vgw11810490
+      - llu_vnf.dependency
+      vgw11810490.virtualstorage_root_all.dependency:
+      - vgw11810490
+      - virtualstorage_root_all.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.dependency
+      vgw11810490.llu_vnf.virtual_link:
+      - vgw11810490
+      - llu_vnf.virtual_link
+      vgw11810490.vl_mux_gw_private_net.dependency:
+      - vgw11810490
+      - vl_mux_gw_private_net.dependency
+      vgw11810490.vdu_vgw_0.dependency:
+      - vgw11810490
+      - vdu_vgw_0.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_binding
diff --git a/s3p/templates/interfaceType/TOSCA-Metadata/TOSCA.meta b/s3p/templates/interfaceType/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000..e65ed50
--- /dev/null
+++ b/s3p/templates/interfaceType/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,7 @@
+TOSCA-Meta-File-Version: 1.0
+CSAR-Version: 1.1
+Created-By: Carlos Santana
+Entry-Definitions: Definitions/service-Testns8-template.yml
+
+Name: csar.meta
+Content-Type: text/plain
diff --git a/s3p/templates/interfaceType/csar.meta b/s3p/templates/interfaceType/csar.meta
new file mode 100644
index 0000000..bc3359c
--- /dev/null
+++ b/s3p/templates/interfaceType/csar.meta
@@ -0,0 +1,2 @@
+SDC-TOSCA-Meta-File-Version: 1.0
+SDC-TOSCA-Definitions-Version: 9.0
diff --git a/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
new file mode 100644
index 0000000..6059757
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAxsekiqwLgs9VfChnr2bnpLC3VqD1iT+s969vWe05j1RDozPu
+zyD3krNgVUcd65x2QQJWrDK2fnyQUtubbPb3wviLXs0Gof4a/b65JsMQkeeC2/OK
+aFvrE6D3heouXmWO1vo1iXy2hUhcfXdr6eM3rP3zpU9zb2Al25/90Ha8kKBpe1RS
+PKHpmcqVXIpGVxJSXnioAFXUsJ687qrTv7Zm13AHkm2L1Y5IvMsGHLFjFTGFlFoY
+ftQQAepF507CFqs66tD378vvNVg8LYqrKpnfdx2PIRNLHAa1xQWc0EvwGHyBQZRL
+hTXS3M3IZ7Y22dJ+3Zg15PMx7QmWDZO5MG/JPwIDAQABAoIBAE5KS1AiutXmezDP
+aSb4TLvcrhj8hDhuT92txxmQCV+ePJWG2sPRpDCvXX246NvnX9vy49gmkSH4RY+c
+1vZvvt2XrqzD65zZzB+sgpf1tA0DNdMTdKvtqASvHU4tEd4z+bJKEdP4vpp4CZWQ
+93vC9ia4TsIJLNns8Hwz42+7lEEResKYZA2djGnzHl+83vR1dm0GGBD6BKR1C3Cx
+HbEhqx42EV61+8nAweQNjWKxeAc2hg+H8o8qWJM1aKy0TnqW6kudOYRyYIpX0rJA
+siE2HwvDA1mDd5M8ntZ/Cx0pnTc/cuZB8BQJ0jN1JXbrJGbWspBNXformw7isbyO
+WIOjvEECgYEA84XKV3aPrTE2JBs5vzzs59NMPV+5frw+xzDyPxqK5Q7+jjVKDwxh
+/WRatCaTdRxhOI905HfVsDYjrsPOpmF9MHsLxmBhwk8zBFOu/xtYr7zBNkJhmCsq
+kZMdxf8bpu08E7kMQJ2MvT7OhM5HRlWIUR0jdja8Hz51Ro4oOb/po7kCgYEA0Pb5
+v12ZsaSHMF0r4l983PifNwYmI22iQIEtRT2DxgTkDKgBTjbRzqZmEhaADMAO48o9
+sIZy+KJ/a8G9fPQVwMgBID8zOHnWsrFmM3qkj5hhrAQdtq7OE71zgaP0tyE1TG4u
+Zs3a7eSyuoildHHFqX88oXSYsTlfV8vn23UpwLcCgYEAwXiCuBger8dQL0FeEJwz
+zz5k7MG3WoPuEEzHuPC6dp8CCDM4IlqBI1JuaX/YWQtyBgCbKsQ2BigNE1THQhJj
+5ndrdHCwWjKX4pElj9HHFN+OVTBJ3x40VLGfzuUNsAH8X+L9Y/yHivZyFrrXj352
+rZLL0KhNrzjs7WAVf0QEOCkCgYBe2s1xnZZnueyX+qMyBfBTChST0Jm9WUXejAS1
+un+3gn7Wc+jrzRyd9pC8wzPrFb9sjWBFYjKMRI8cpfxS3SWGtgM01Rt2FnBr+vUO
+hyxt9ljX0aJ/S4hGE6h7/6XU/yEHibhMeENZ24d5/w9D9WUpVJV8IMYzJHzwCKI9
+z0hdrwKBgQDMKvY3DBpZjhZe9YnOgdj4SRpNwaasUSf3a3SZYY1JyOZVUzeSSzoX
+rYLfxBRDjkJ8Nnod+nR/JSRqYa/SJYEMZEZFsC+k/pvBiaP6tk694IlpLD/2MXN6
+14FUV5LH/rGSbZJMSfZ9yNX1XZDowH8nOu+qlmlU4lmgiOuityTmtw==
+-----END RSA PRIVATE KEY-----
diff --git a/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
new file mode 100644
index 0000000..f31d15d
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
@@ -0,0 +1 @@
+ubuntu_16.04
diff --git a/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
new file mode 100644
index 0000000..c49c2c6
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
@@ -0,0 +1 @@
+<vendor-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><entitlement-pool-list><entitlement-pool><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><version>1.0</version><name>entitlement pool</name><description/><increments/><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><version>1.0</version><name>license key</name><description/><type>Universal</type><increments/><manufacturerReferenceNumber/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list></vendor-license-model>
\ No newline at end of file
diff --git a/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
new file mode 100644
index 0000000..db573af
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
@@ -0,0 +1 @@
+<vf-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><vf-id>2455e00dddf84eedaaed6eb412d39a7e</vf-id><feature-group-list><feature-group><entitlement-pool-list><entitlement-pool><name>entitlement pool</name><description/><increments/><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><name>license key</name><description/><type>Universal</type><increments/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><manufacturer-reference-number/><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list><name>feature group</name><feature-group-uuid>d3780d334c4c42d38c7ab1ec23a65cfd</feature-group-uuid><part-number>4444</part-number><description/></feature-group></feature-group-list></vf-license-model>
\ No newline at end of file
diff --git a/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
new file mode 100644
index 0000000..f08e56f
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
@@ -0,0 +1,29 @@
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
+
+
+1.    VSP Details: 
+    a.    Name: vgw1181049
+    b.    Description test
+    c.    Version: 0.0
+    d.    Vendor: vendor
+    e.    Category: resourceNewCategory.generic
+    f.    License Details: 
+        i.    License Model Version: 0.0
+        ii.    License Agreement Name: b24b9792f0ec4e72818387a230acec5a
+        iii    List of Feature Groups: 
+            1.    d3780d334c4c42d38c7ab1ec23a65cfd
+    g.    High Availability 
+    h.    Storage Data Back-up Details: 
+        i.    Data Replication Required?: false
+        ii.    	Data Size to replicate in GB: null
+        iii.    Data replication frequency: null
+        iv.    Replication Source: null
+        v.    Replication Destination: null
+    3.    List of VFCs 
+        a.    For each VFC: 
+
+
+
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
\ No newline at end of file
diff --git a/s3p/templates/memoryPageSize/Definitions/annotations.yml b/s3p/templates/memoryPageSize/Definitions/annotations.yml
new file mode 100644
index 0000000..2f14606
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/annotations.yml
@@ -0,0 +1,30 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+annotation_types:
+  org.openecomp.annotations.Source:
+    description: Indicates the origin source of an input
+    properties:
+      source_type:
+        type: string
+      vf_module_label:
+        type: list
+        description: List of VF Modules this input was originated from
+        entry_schema:
+          type: string
+      param_name:
+        type: string
+        description: Source parameter name
diff --git a/s3p/templates/memoryPageSize/Definitions/artifacts.yml b/s3p/templates/memoryPageSize/Definitions/artifacts.yml
new file mode 100644
index 0000000..175615c
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/artifacts.yml
@@ -0,0 +1,42 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+artifact_types:
+  tosca.artifacts.Root:
+    description: This is the default (root) TOSCA Artifact Type definition that all other TOSCA base Artifact Types derive from.
+  tosca.artifacts.Deployment.Image:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact type represents a parent type for any "image" which is an opaque packaging of a TOSCA Node's deployment (whether real or virtual) whose contents are typically already installed and pre-configured (i.e., "stateful") and prepared to be run on a known target container.
+  tosca.artifacts.Implementation.Bash:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Bash script type that contains Bash commands that can be executed on the Unix Bash shell.
+  tosca.artifacts.Deployment.Image.VM:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact represents the parent type for all Virtual Machine (VM) image and container formatted deployment artifacts. These images contain a stateful capture of a machine (e.g., server) including operating system and installed software along with any configurations and can be run on another machine using a hypervisor which virtualizes typical server (i.e., hardware) resources.
+  tosca.artifacts.Implementation.Python:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Python file that contains Python language constructs that can be executed within a Python interpreter.
+  tosca.artifacts.Deployment:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all deployment artifacts in TOSCA. This class of artifacts typically represents a binary packaging of an application or service that is used to install/create or deploy it as part of a node's lifecycle.
+  tosca.artifacts.File:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type is used when an artifact definition needs to have its associated file simply treated as a file and no special handling/handlers are invoked (i.e., it is not treated as either an implementation or deployment artifact type).
+  tosca.artifacts.Implementation:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all implementation artifacts in TOSCA. These artifacts are used to implement operations of TOSCA interfaces either directly (e.g., scripts) or indirectly (e.g., config. files).
+  tosca.artifacts.nfv.SwImage:
+    derived_from: tosca.artifacts.Deployment.Image
diff --git a/s3p/templates/memoryPageSize/Definitions/capabilities.yml b/s3p/templates/memoryPageSize/Definitions/capabilities.yml
new file mode 100644
index 0000000..734c201
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/capabilities.yml
@@ -0,0 +1,293 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+capability_types:
+  tosca.capabilities.Root:
+    description: The TOSCA root Capability Type all other TOSCA base Capability Types derive from
+  tosca.capabilities.Attachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Node:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Container:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: integer
+        required: false
+        constraints:
+        - greater_or_equal: 1
+      cpu_frequency:
+        type: scalar-unit.frequency
+        required: false
+        constraints:
+        - greater_or_equal: 0.1 GHz
+      disk_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+      mem_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+  org.openecomp.capabilities.PortMirroring:
+    derived_from: tosca.capabilities.Root
+    properties:
+      connection_point:
+        type: org.openecomp.datatypes.PortMirroringConnectionPointDescription
+  tosca.capabilities.Endpoint:
+    derived_from: tosca.capabilities.Root
+    properties:
+      protocol:
+        type: string
+        default: tcp
+      port:
+        type: PortDef
+        required: false
+      secure:
+        type: boolean
+        default: false
+      url_path:
+        type: string
+        required: false
+      port_name:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+        default: PRIVATE
+      initiator:
+        type: string
+        default: source
+        constraints:
+        - valid_values:
+          - source
+          - target
+          - peer
+      ports:
+        type: map
+        required: false
+        constraints:
+        - min_length: 1
+        entry_schema:
+          type: PortSpec
+    attributes:
+      ip_address:
+        type: string
+  tosca.capabilities.DatabaseEndpoint:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.Endpoint.Public:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      network_name: PUBLIC
+      floating:
+        description: |
+          indicates that the public address should be allocated from a pool of floating IPs that are associated with the network.
+        type: boolean
+        default: false
+        status: experimental
+      dns_name:
+        description: The optional name to register with DNS
+        type: string
+        required: false
+        status: experimental
+  tosca.capabilities.Endpoint.Admin:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      secure: true
+  tosca.capabilities.Endpoint.Database:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.OperatingSystem:
+    derived_from: tosca.capabilities.Root
+    properties:
+      architecture:
+        type: string
+        required: false
+      type:
+        type: string
+        required: false
+      distribution:
+        type: string
+        required: false
+      version:
+        type: version
+        required: false
+  tosca.capabilities.Scalable:
+    derived_from: tosca.capabilities.Root
+    properties:
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      default_instances:
+        type: integer
+  tosca.capabilities.network.Bindable:
+    derived_from: tosca.capabilities.Node
+  tosca.capabilities.Container.Docker:
+    derived_from: tosca.capabilities.Container
+    properties:
+      version:
+        type: list
+        required: false
+        entry_schema: version
+      publish_all:
+        type: boolean
+        default: false
+        required: false
+      publish_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      expose_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      volumes:
+        type: list
+        entry_schema: string
+        required: false
+  tosca.capabilities.network.Linkable:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.AllottedResource:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Metric:
+    derived_from: tosca.capabilities.Endpoint
+  org.openecomp.capabilities.Metric:
+    derived_from: tosca.capabilities.nfv.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored.
+    properties:
+      unit:
+        type: string
+        description: Unit of the metric value
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: Description of the metric
+        required: false
+        status: SUPPORTED
+      type:
+        type: string
+        description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+        required: true
+        status: SUPPORTED
+      category:
+        type: string
+        description: Category of the metric, for an example, compute, disk, network, storage and etc.
+        required: false
+        status: SUPPORTED
+    attributes:
+      value:
+        type: string
+        description: Runtime monitored value
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.Ceilometer:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+    properties:
+      name:
+        type: string
+        description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpPolling:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp polling.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpTrap:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp trap.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.Forwarder:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.VLANAssignment:
+    derived_from: tosca.capabilities.Root
+    description: ability to expose routing information of the internal network
+    properties:
+      vfc_instance_group_reference:
+        type: string
+        description: Ability to recognize capability per vfc instance group on vnf instance
+        required: true
+  org.openecomp.capabilities.RoutingConfiguration:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.FabricConfiguration:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualStorage:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualCompute:
+    derived_from: tosca.capabilities.Root
+    properties:
+      logical_node:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+      compute_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      requested_additional_capabilities:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.RequestedAdditionalCapability
+        required: false
+      virtual_memory:
+        type: tosca.datatypes.nfv.VirtualMemory
+        required: true
+      virtual_cpu:
+        type: tosca.datatypes.nfv.VirtualCpu
+        required: true
+  tosca.capabilities.nfv.VirtualBindable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ExtVirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Forwarder:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.GuestOs:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.ImageFile:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.LocalAttachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.Compute.Container.Architecture:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: string
+        required: false
+      flavor_extra_specs:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      mem_size:
+        type: string
+        required: false
diff --git a/s3p/templates/memoryPageSize/Definitions/data.yml b/s3p/templates/memoryPageSize/Definitions/data.yml
new file mode 100644
index 0000000..0ff7179
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/data.yml
@@ -0,0 +1,1733 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+data_types:
+  tosca.datatypes.Root:
+    description: The TOSCA root Data Type all other TOSCA base Data Types derive from
+  integer:
+    derived_from: tosca.datatypes.Root
+  string:
+    derived_from: tosca.datatypes.Root
+  boolean:
+    derived_from: tosca.datatypes.Root
+  float:
+    derived_from: tosca.datatypes.Root
+  list:
+    derived_from: tosca.datatypes.Root
+  map:
+    derived_from: tosca.datatypes.Root
+  json:
+    derived_from: tosca.datatypes.Root
+  scalar-unit:
+    derived_from: tosca.datatypes.Root
+  scalar-unit.size:
+    derived_from: scalar-unit
+  scalar-unit.time:
+    derived_from: scalar-unit
+  scalar-unit.frequency:
+    derived_from: scalar-unit
+  tosca.datatypes.Credential:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: false
+      token_type:
+        type: string
+        default: password
+      token:
+        type: string
+      keys:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      user:
+        type: string
+        required: false
+  org.openecomp.datatypes.PortMirroringConnectionPointDescription:
+    derived_from: tosca.datatypes.Root
+    properties:
+      nf_naming_code:
+        type: string
+      nfc_naming_code:
+        type: string
+      network_role:
+        type: string
+      pps_capacity:
+        type: string
+      nf_type:
+        type: string
+        description: deprecated
+      nfc_type:
+        type: string
+        description: deprecated
+  tosca.datatypes.TimeInterval:
+    derived_from: tosca.datatypes.Root
+    properties:
+      start_time:
+        type: timestamp
+        required: true
+      end_time:
+        type: timestamp
+        required: true
+  tosca.datatypes.network.NetworkInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      network_name:
+        type: string
+      network_id:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      port_name:
+        type: string
+      port_id:
+        type: string
+      network_id:
+        type: string
+      mac_address:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortDef:
+    derived_from: integer
+    constraints:
+    - in_range:
+      - 1
+      - 65535
+  tosca.datatypes.network.PortSpec:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: true
+        default: tcp
+        constraints:
+        - valid_values:
+          - udp
+          - tcp
+          - igmp
+      target:
+        type: tosca.datatypes.network.PortDef
+      target_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+      source:
+        type: tosca.datatypes.network.PortDef
+      source_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+  org.openecomp.datatypes.heat.network.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: MAC/IP address pairs
+    properties:
+      mac_address:
+        type: string
+        description: MAC address
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.subnet.HostRoute:
+    derived_from: tosca.datatypes.Root
+    description: Host route info for the subnet
+    properties:
+      destination:
+        type: string
+        description: The destination for static route
+        required: false
+        status: SUPPORTED
+      nexthop:
+        type: string
+        description: The next hop for the destination
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.AllocationPool:
+    derived_from: tosca.datatypes.Root
+    description: The start and end addresses for the allocation pool
+    properties:
+      start:
+        type: string
+        description: Start address for the allocation pool
+        required: false
+        status: SUPPORTED
+      end:
+        type: string
+        description: End address for the allocation pool
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.Subnet:
+    derived_from: tosca.datatypes.Root
+    description: A subnet represents an IP address block that can be used for assigning IP addresses to virtual instances
+    properties:
+      tenant_id:
+        type: string
+        description: The ID of the tenant who owns the network
+        required: false
+        status: SUPPORTED
+      enable_dhcp:
+        type: boolean
+        description: Set to true if DHCP is enabled and false if DHCP is disabled
+        required: false
+        default: true
+        status: SUPPORTED
+      ipv6_address_mode:
+        type: string
+        description: IPv6 address mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      ipv6_ra_mode:
+        type: string
+        description: IPv6 RA (Router Advertisement) mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      allocation_pools:
+        type: list
+        description: The start and end addresses for the allocation pools
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AllocationPool
+      subnetpool:
+        type: string
+        description: The name or ID of the subnet pool
+        required: false
+        status: SUPPORTED
+      dns_nameservers:
+        type: list
+        description: A specified set of DNS name servers to be used
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      host_routes:
+        type: list
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.subnet.HostRoute
+      ip_version:
+        type: integer
+        description: The gateway IP address
+        required: false
+        default: 4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - '4'
+          - '6'
+      name:
+        type: string
+        description: The name of the subnet
+        required: false
+        status: SUPPORTED
+      prefixlen:
+        type: integer
+        description: Prefix length for subnet allocation from subnet pool
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      cidr:
+        type: string
+        description: The CIDR
+        required: false
+        status: SUPPORTED
+      gateway_ip:
+        type: string
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.novaServer.network.PortExtraProperties:
+    derived_from: tosca.datatypes.Root
+    description: Nova server network expand properties for port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the port
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: The administrative state of this port
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this port
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.novaServer.network.AddressInfo:
+    derived_from: tosca.datatypes.network.NetworkInfo
+    description: Network addresses with corresponding port id
+    properties:
+      port_id:
+        type: string
+        description: Port id
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.neutron.port.FixedIps:
+    derived_from: tosca.datatypes.Root
+    description: subnet/ip_address
+    properties:
+      subnet:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address desired in the subnet for this port
+        required: false
+        status: SUPPORTED
+      subnet_id:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.FileInfo:
+    derived_from: tosca.datatypes.Root
+    description: Heat File Info
+    properties:
+      file:
+        type: string
+        description: The required URI string (relative or absolute) which can be used to locate the file
+        required: true
+        status: SUPPORTED
+      file_type:
+        type: string
+        description: The type of the file
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - base
+          - env
+          - volume
+          - network
+  org.openecomp.datatypes.heat.contrail.network.rule.PortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source and destination port pairs
+    properties:
+      start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      apply_service:
+        type: string
+        description: Service to apply
+        required: false
+        status: SUPPORTED
+      dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.Rule
+  org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source and destination addresses
+    properties:
+      virtual_network:
+        type: string
+        description: Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule:
+    derived_from: tosca.datatypes.Root
+    description: Rules Pairs
+    properties:
+      remote_group_id:
+        type: string
+        description: The remote group ID to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      protocol:
+        type: string
+        description: The protocol that is matched by the security group rule
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - tcp
+          - udp
+          - icmp
+      ethertype:
+        type: string
+        description: Ethertype of the traffic
+        required: false
+        default: IPv4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - IPv4
+          - IPv6
+      port_range_max:
+        type: integer
+        description: 'The maximum port number in the range that is matched by the
+          security group rule. '
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+      remote_ip_prefix:
+        type: string
+        description: The remote IP prefix (CIDR) to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      remote_mode:
+        type: string
+        description: Whether to specify a remote group or a remote IP prefix
+        required: false
+        default: remote_ip_prefix
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - remote_ip_prefix
+          - remote_group_id
+      direction:
+        type: string
+        description: The direction in which the security group rule is applied
+        required: false
+        default: ingress
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - egress
+          - ingress
+      port_range_min:
+        type: integer
+        description: The minimum port number in the range that is matched by the security group rule.
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+  org.openecomp.datatypes.heat.substitution.SubstitutionFiltering:
+    derived_from: tosca.datatypes.Root
+    description: Substitution Filter
+    properties:
+      substitute_service_template:
+        type: string
+        description: Substitute Service Template
+        required: true
+        status: SUPPORTED
+      index_value:
+        type: integer
+        description: Index value of the substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      count:
+        type: string
+        description: Count
+        required: false
+        default: 1
+        status: SUPPORTED
+      scaling_enabled:
+        type: boolean
+        description: Indicates whether service scaling is enabled
+        required: false
+        default: true
+        status: SUPPORTED
+      mandatory:
+        type: boolean
+        description: Mandatory
+        required: false
+        default: true
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data sequence
+    properties:
+      network_policy_refs_data_sequence_major:
+        type: integer
+        description: Network Policy ref data sequence Major
+        required: false
+        status: SUPPORTED
+      network_policy_refs_data_sequence_minor:
+        type: integer
+        description: Network Policy ref data sequence Minor
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data
+    properties:
+      network_policy_refs_data_sequence:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence
+        description: Network Policy ref data sequence
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix len
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet List
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_addr_from_start:
+        type: string
+        description: Network ipam refs data ipam subnets addr from start
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data
+    properties:
+      network_ipam_refs_data_ipam_subnets:
+        type: list
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source addresses
+    properties:
+      network_policy_entries_policy_rule_src_addresses_virtual_network:
+        type: string
+        description: Source addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: destination addresses
+    properties:
+      network_policy_entries_policy_rule_dst_addresses_virtual_network:
+        type: string
+        description: Destination addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: destination port pairs
+    properties:
+      network_policy_entries_policy_rule_dst_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_dst_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source port pairs
+    properties:
+      network_policy_entries_policy_rule_src_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList:
+    derived_from: tosca.datatypes.Root
+    description: Action List
+    properties:
+      network_policy_entries_policy_rule_action_list_simple_action:
+        type: string
+        description: Simple Action
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_action_list_apply_service:
+        type: list
+        description: Apply Service
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      network_policy_entries_policy_rule_dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork
+      network_policy_entries_policy_rule_dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs
+      network_policy_entries_policy_rule_protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork
+      network_policy_entries_policy_rule_direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs
+      network_policy_entries_policy_rule_action_list:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList
+        description: Action list
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      network_policy_entries_policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.Rule
+  org.openecomp.datatypes.heat.network.contrail.port.StaticRoute:
+    derived_from: tosca.datatypes.Root
+    description: static route
+    properties:
+      prefix:
+        type: string
+        description: Route prefix
+        required: false
+        status: SUPPORTED
+      next_hop:
+        type: string
+        description: Next hop
+        required: false
+        status: SUPPORTED
+      next_hop_type:
+        type: string
+        description: Next hop type
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Address Pair
+    properties:
+      address_mode:
+        type: string
+        description: Address mode active-active or active-standy
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - active-active
+          - active-standby
+      prefix:
+        type: string
+        description: IP address prefix
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: Mac address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.InterfaceData:
+    derived_from: tosca.datatypes.Root
+    description: Interface Data
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Interface Properties.
+    properties:
+      virtual_machine_interface_properties_service_interface_type:
+        type: string
+        description: Service Interface Type.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.Root:
+    derived_from: tosca.datatypes.Root
+    description: |
+      The ECOMP root Data Type all other Data Types derive from
+    properties:
+      supplemental_data:
+        type: map
+        entry_schema:
+          description: |
+            A placeholder for missing properties that would be included in future ecomp model versions. fromat <key>:<value>
+          type: string
+  org.openecomp.datatypes.AssignmentRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_required:
+        description: |
+          "true" indicates that assignment is required
+        type: boolean
+        default: false
+        required: true
+      count:
+        description: number of assignments required
+        type: integer
+        required: false
+  org.openecomp.datatypes.network.SubnetAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_network_address_plan:
+        type: string
+        required: false
+        description: Reference to EIPAM, VLAN or other address plan ID used to assign subnets to this network
+      dhcp_enabled:
+        type: boolean
+        required: false
+        description: \"true\" indicates the network has 1 or more policies
+      ip_version:
+        type: integer
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+        required: true
+        description: The IP version of the subnet
+      cidr_mask:
+        type: integer
+        required: true
+        description: The default subnet CIDR mask
+      min_subnets_count:
+        type: integer
+        default: 1
+        required: true
+        description: Quantity of subnets that must be initially assigned
+  org.openecomp.datatypes.network.IPv4SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv4:
+        type: boolean
+        required: true
+        description: Indicates IPv4 subnet assignments
+  org.openecomp.datatypes.network.IPv6SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv6:
+        type: boolean
+        required: true
+        description: Indicates IPv6 subnet assignments
+  org.openecomp.datatypes.network.NetworkAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_network_assignment:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the network assignments will be auto-generated by ECOMP \"false\" indicates operator-supplied Network assignments file upload is required (e.g. VID will present prompt to operator to upload operator-supplied Network assignments file).
+      is_shared_network:
+        type: boolean
+        required: true
+        description: \"true\" means this network is shared by multiple Openstack tenants
+      is_external_network:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" means this Contrail external network
+      ipv4_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv4SubnetAssignments
+        required: true
+        description: IPv4 defualt subnet assignments
+      ipv6_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv6SubnetAssignments
+        required: true
+        description: IPv6 defualt subnet assignments
+      related_networks:
+        type: list
+        required: false
+        description: Related Networks List.
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+      is_trunked:
+        type: boolean
+        required: true
+        description: \"true\" indicates that network is trunked
+        default: false
+  org.openecomp.datatypes.network.ProviderNetwork:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_provider_network:
+        type: boolean
+        required: true
+        description: \"true\" indicates that this a Neutron provider type of network
+      physical_network_name:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Physnet41
+          - Physnet42
+          - Physnet43
+          - Physnet44
+          - Physnet21
+          - Physnet22
+          - sriovnet1
+          - sriovnet2
+          - oam
+        description: |
+          Identifies the NUMA processor cluster to which this physical network interface belongs. NUMA instance correlates to the first digit of the Physical Network Name suffix (e.g. \"01\" = NUMA 0, \"11\" = NUMA 1)
+      numa:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - NUMA 0
+          - NUMA 1
+        description: |
+          PNIC instance within the NUMA processor cluster PNIC Instance correlates to the second digit of the Physical Network Name suffix (e.g. "01" = PNIC 1, "02" = "PNIC 2)
+      pnic_instance:
+        type: integer
+        required: false
+        description: PNIC instance within the NUMA processor cluster
+  org.openecomp.datatypes.network.NetworkFlows:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_network_policy:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more policies
+      network_policy:
+        type: string
+        required: false
+        description: 'Identifies the specific Cloud network policy that must be applied
+          to this network (source: from Policy Manager).'
+      is_bound_to_vpn:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more vpn bindings
+      vpn_binding:
+        type: string
+        required: false
+        description: 'Identifies the specific VPN Binding entry in A&AI that must
+          be applied when creating this network (source: A&AI)'
+  org.openecomp.datatypes.network.VlanRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      vlan_range_plan:
+        type: string
+        required: true
+        description: reference to a vlan range plan
+      vlan_type:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - c-tag
+          - s-tag
+        description: identifies the vlan type (e.g., c-tag)
+      vlan_count:
+        type: integer
+        required: true
+        description: identifies the number of vlan tags to assign to the CP from the plan
+  org.openecomp.datatypes.network.IpRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: true
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      ip_count:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: integer
+        required: false
+      floating_ip_count:
+        type: integer
+        required: false
+      subnet_role:
+        type: string
+        required: false
+      assingment_method:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - fixed
+          - dhcp
+      dhcp_enabled:
+        type: boolean
+        required: false
+      ip_count_required:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      floating_ip_count_required:
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      ip_address_plan_name:
+        type: string
+        required: false
+      vrf_name:
+        type: string
+        required: false
+  org.openecomp.datatypes.network.MacAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        type: string
+        required: true
+        description: reference to a MAC address range plan
+      mac_count:
+        type: integer
+        required: true
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+  org.openecomp.datatypes.EcompHoming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_selected_instance_node_target:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the target deployment node for this instance will be auto-selected by ECOMP \"false\" indicates operator-supplied instance target deployment node required (e.g. VID will present a prompt to operator and collect the operator-selected target node for the deployment of this Network instance).
+      homing_policy:
+        type: string
+        required: false
+        description: Referenc to a service level homing policy that ECOMP will use for instance deployment target node
+      instance_node_target:
+        type: string
+        required: false
+        description: Instance target deployment node
+  org.openecomp.datatypes.EcompNaming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        type: boolean
+        required: true
+        default: true
+        description: |
+          \"true\" indicates that the name for the instance will be auto-generated by ECOMP. \"false\" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+      naming_policy:
+        type: string
+        required: false
+        description: Referenc to naming policy that ECOMP will use when the name is auto-generated
+  org.openecomp.datatypes.network.MacRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        description: reference to a MAC address range plan
+        type: string
+        required: false
+      mac_count:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: integer
+        required: false
+      mac_count_required:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair IP.
+    properties:
+      ip_prefix:
+        type: string
+        description: IP Prefix.
+        required: false
+        status: SUPPORTED
+      ip_prefix_len:
+        type: integer
+        description: IP Prefix Len.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Mac Address.
+    properties:
+      mac_address:
+        type: list
+        description: Mac Addresses List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface VLAN Properties.
+    properties:
+      sub_interface_vlan_tag:
+        type: string
+        description: Sub Interface VLAN Tag.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair.
+    properties:
+      address_mode:
+        type: string
+        description: Address Mode.
+        required: false
+        status: SUPPORTED
+      ip:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp
+        description: IP.
+        required: false
+        status: SUPPORTED
+      mac:
+        type: string
+        description: Mac.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pairs.
+    properties:
+      allowed_address_pair:
+        type: list
+        description: Addresses pair List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair
+  org.openecomp.datatypes.Naming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        description: |
+          "true" indicates that the name for the instance will be auto-generated by ECOMP. "false" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: boolean
+        default: true
+        required: true
+      naming_policy:
+        description: Reference to naming policy that ECOMP will use when the name is auto-generated
+        type: string
+        required: false
+      instance_name:
+        description: indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: string
+        required: false
+  org.openecomp.datatypes.flavors.ComputeFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      num_cpus:
+        type: integer
+      disk_size:
+        type: scalar-unit.size
+      mem_size:
+        type: scalar-unit.size
+  org.openecomp.datatypes.flavors.LicenseFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      feature_group_uuid:
+        type: string
+  org.openecomp.datatypes.flavors.VendorInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      manufacturer_reference_number:
+        type: string
+      vendor_model:
+        type: string
+  org.openecomp.datatypes.flavors.DeploymentFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      sp_part_number:
+        type: string
+      vendor_info:
+        type: org.openecomp.datatypes.flavors.VendorInfo
+      compute_flavor:
+        type: org.openecomp.datatypes.flavors.ComputeFlavor
+      license_flavor:
+        type: org.openecomp.datatypes.flavors.LicenseFlavor
+        required: false
+  org.openecomp.datatypes.ImageInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      software_version:
+        type: string
+      file_name:
+        type: string
+      file_hash:
+        type: string
+        description: checksum/signature
+      file_hash_type:
+        type: string
+        required: false
+        default: md5
+  org.openecomp.datatypes.network.RelatedNetworksAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      related_network_role:
+        type: string
+        description: The network role of the related network, sharing provider network.
+        required: false
+  tosca.datatypes.nfv.VnfcConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      additional_vnfc_configurable_properties:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.RequestedAdditionalCapability:
+    derived_from: tosca.datatypes.Root
+    properties:
+      support_mandatory:
+        type: boolean
+        required: true
+      min_requested_additional_capability_version:
+        type: string
+        required: false
+      preferred_requested_additional_capability_version:
+        type: string
+        required: false
+      requested_additional_capability_name:
+        type: string
+        required: true
+      target_performance_parameters:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+  tosca.datatypes.nfv.VirtualMemory:
+    derived_from: tosca.datatypes.Root
+    properties:
+      virtual_mem_size:
+        type: scalar-unit.size
+        required: true
+      virtual_mem_oversubscription_policy:
+        type: string
+        required: false
+      vdu_memory_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      numa_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VirtualCpuPinning:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_pinning_policy:
+        type: string
+        constraints:
+        - valid_values:
+          - static
+          - dynamic
+        required: false
+      cpu_pinning_map:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualCpu:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_architecture:
+        type: string
+        required: false
+      num_virtual_cpu:
+        type: integer
+        required: true
+      virtual_cpu_clock:
+        type: scalar-unit.frequency
+        required: false
+      virtual_cpu_oversubscription_policy:
+        type: string
+        required: false
+      vdu_cpu_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      virtual_cpu_pinning:
+        type: tosca.datatypes.nfv.VirtualCpuPinning
+        required: false
+  tosca.datatypes.nfv.LogicalNodeData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      logical_node_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      support_mandatory:
+        type: boolean
+        required: true
+      requirement:
+        type: string
+        required: false
+      network_interface_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+      nic_io_requirements:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+  tosca.datatypes.nfv.injectFile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      source_path:
+        type: string
+        required: true
+      dest_path:
+        type: string
+        required: true
+  tosca.datatypes.nfv.L2AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      mac_address_assignment:
+        type: boolean
+        required: true
+      address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.L3AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      ip_address_assignment:
+        type: boolean
+        required: true
+      floating_ip_activated:
+        type: boolean
+        required: true
+      ip_address_type:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - ipv4
+          - ipv6
+      number_of_ip_address:
+        type: integer
+        required: false
+      fixed_ip_address:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.AddressData:
+    properties:
+      address_type:
+        constraints:
+        - valid_values:
+          - mac_address
+          - ip_address
+        type: string
+        required: true
+      l2_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L2AddressData
+      l3_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L3AddressData
+  tosca.datatypes.nfv.ConnectivityType:
+    derived_from: tosca.datatypes.Root
+    properties:
+      layer_protocol:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo_wire
+      flow_pattern:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Line
+          - Tree
+          - Mesh
+  tosca.datatypes.nfv.VlFlavour:
+    derived_from: tosca.datatypes.Root
+    properties:
+      flavourId:
+        type: string
+  tosca.datatypes.nfv.ext.AddressPairs:
+    properties:
+      ip:
+        type: string
+        required: false
+      mac:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.FloatingIP:
+    properties:
+      external_network:
+        type: string
+        required: false
+      ip_address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocationInfo:
+    properties:
+      availability_zone:
+        type: string
+        required: false
+      vimid:
+        type: integer
+        required: false
+      tenant:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.HostRouteInfo:
+    properties:
+      destination:
+        type: string
+        required: false
+      nexthop:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.InjectData:
+    properties:
+      file_name:
+        type: string
+        required: false
+      file_data:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.zte.WatchDog:
+    properties:
+      enable_delay:
+        type: integer
+        required: false
+      action:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule:
+    properties:
+      scope:
+        type: string
+        required: false
+      affinity_antiaffinity:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VduProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_number_of_instances:
+        type: integer
+        required: true
+      max_number_of_instances:
+        type: integer
+        required: true
+      watchdog:
+        type: string
+        required: true
+      vmBootUpTimeOut:
+        type: integer
+        required: false
+  tosca.datatypes.nfv.LinkBitRateRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      root:
+        type: integer
+        required: true
+      leaf:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.Qos:
+    derived_from: tosca.datatypes.Root
+    properties:
+      latency:
+        type: integer
+        required: true
+      packet_delay_variation:
+        type: integer
+        required: true
+      packet_loss_ratio:
+        type: float
+        constraints:
+        - in_range:
+          - 0.0
+          - 1.0
+        required: false
+  tosca.datatypes.nfv.VlProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      max_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      min_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      qos:
+        type: tosca.datatypes.nfv.Qos
+        required: false
+      initiationParameters:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      cidr:
+        type: string
+        required: false
+      networkName:
+        type: string
+        required: false
+      startIp:
+        type: string
+        required: false
+      endIp:
+        type: string
+        required: false
+      gatewayIp:
+        type: string
+        required: false
+      segmentationId:
+        type: integer
+        required: false
+      physicalNetwork:
+        type: string
+        required: false
+      networkType:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - VLAN
+          - VXLAN
+      dhcpEnabled:
+        type: boolean
+        required: false
+      vlanTransparent:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VduLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      number_of_instances:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaleLevel:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleAspect:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      associated_group:
+        type: string
+        required: false
+      max_scale_level:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.InstantiationLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: true
+      vdu_levels:
+        type: map
+        required: true
+        entry_schema:
+          type: tosca.datatypes.nfv.VduLevel
+      scale_info:
+        type: map
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ScaleInfo
+  tosca.datatypes.nfv.VnfScaleOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaling_by_more_than_one_step_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      arbitrary_target_levels_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfHealOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      causes:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfOperateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scale:
+        type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
+      scale_to_level:
+        type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
+      heal:
+        type: tosca.datatypes.nfv.VnfHealOperationConfiguration
+      terminate:
+        type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
+      operate:
+        type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
+  tosca.datatypes.nfv.CpProtocolData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      asscociated_layer_protocol:
+        type: string
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo-wire
+        required: true
+      address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.datatypes.nfv.VnfConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      is_autoscale_enabled:
+        type: boolean
+        required: false
+      is_autoheal_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributes:
+    derived_from: tosca.datatypes.Root
+    properties:
+      extensions:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
+        required: false
+      metadata:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
+        required: false
diff --git a/s3p/templates/memoryPageSize/Definitions/groups.yml b/s3p/templates/memoryPageSize/Definitions/groups.yml
new file mode 100644
index 0000000..f8be60d
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/groups.yml
@@ -0,0 +1,133 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+group_types:
+  tosca.groups.Root:
+    description: The TOSCA Group Type all other TOSCA Group Types derive from
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  org.openecomp.groups.heat.HeatStack:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same heat stack
+    properties:
+      heat_file:
+        type: string
+        description: Heat file which associate to this group/heat stack
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: group description
+        required: true
+        status: SUPPORTED
+  org.openecomp.groups.VfModule:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same VF Module
+    properties:
+      isBase:
+        type: boolean
+        description: Whether this module should be deployed before other modules
+        required: true
+        default: false
+        status: SUPPORTED
+      vf_module_label:
+        type: string
+        required: true
+        description: |
+          Alternate textual key used to reference this VF-Module model.  Must be unique within the VNF model
+      vf_module_description:
+        type: string
+        required: true
+        description: |
+          Description of the VF-modules contents and purpose   (e.g. "Front-End" or "Database Cluster")
+      min_vf_module_instances:
+        type: integer
+        required: true
+        description: The minimum instances of this VF-Module
+      max_vf_module_instances:
+        type: integer
+        required: false
+        description: The maximum instances of this VF-Module
+      initial_count:
+        type: integer
+        required: false
+        description: |
+          The initial count of instances of the VF-Module. The value must be in the  range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances.
+      vf_module_type:
+        type: string
+        required: true
+        constraint:
+        - valid_values:
+          - Base
+          - Expansion
+      volume_group:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          "true" indicates that this VF Module model requires attachment to a Volume   Group.  VID operator must select the Volume Group instance to attach to a VF-Module  at deployment time.
+      availability_zone_count:
+        type: integer
+        required: false
+        description: |
+          Quantity of Availability Zones needed for this VF-Module     (source: Extracted from VF-Module HEAT template)
+      vfc_list:
+        type: map
+        entry_schema:
+          description: <vfc_id>:<count>
+          type: string
+        required: false
+        description: |
+          Identifies the set of VM types and their count included in the VF-Module
+  org.openecomp.groups.NetworkCollection:
+    derived_from: tosca.groups.Root
+    description: groups l3-networks in network collection
+    properties:
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function
+      network_collection_description:
+        type: string
+        required: true
+        description: network collection description, free format text
+  org.openecomp.groups.VfcInstanceGroup:
+    derived_from: tosca.groups.Root
+    description: groups VFCs with same parent port role
+    properties:
+      vfc_instance_group_function:
+        type: string
+        required: true
+        description: function of this VFC group
+      vfc_parent_port_role:
+        type: string
+        required: true
+        description: common role of parent ports of VFCs in this group
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function assigned to this group
+      subinterface_role:
+        type: string
+        required: true
+        description: common role of subinterfaces of VFCs in this group, criteria the group is created
+    capabilities:
+      vlan_assignment:
+        type: org.openecomp.capabilities.VLANAssignment
+        properties:
+          vfc_instance_group_reference:
+            type: string
diff --git a/s3p/templates/memoryPageSize/Definitions/interfaces.yml b/s3p/templates/memoryPageSize/Definitions/interfaces.yml
new file mode 100644
index 0000000..a11c716
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/interfaces.yml
@@ -0,0 +1,83 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+interface_types:
+  tosca.interfaces.nfv.vnf.lifecycle.Nfv:
+    instantiate:
+      description: Invoked upon receipt of an Instantiate VNF request
+    instantiate_start:
+      description: Invoked before instantiate
+    instantiate_end:
+      description: Invoked after instantiate
+    terminate:
+      description: Invoked upon receipt Terminate VNF request
+    terminate_start:
+      description: Invoked before terminate
+    terminate_end:
+      description: Invoked after terminate
+    modify_information:
+      description: Invoked upon receipt of a Modify VNF Information request
+    modify_information_start:
+      description: Invoked before modify_information
+    modify_information_end:
+      description: Invoked after modify_information
+    change_flavour:
+      description: Invoked upon receipt of a Change VNF Flavour request
+    change_flavour_start:
+      description: Invoked before change_flavour
+    change_flavour_end:
+      description: Invoked after change_flavour
+    change_external_connectivity:
+      description: Invoked upon receipt of a Change External VNF Connectivity request
+    change_external_connectivity_start:
+      description: Invoked before change_external_connectivity
+    change_external_connectivity_end:
+      description: Invoked after change_external_connectivity
+    operate:
+      description: Invoked upon receipt of an Operate VNF request
+    operate_start:
+      description: Invoked before operate
+    operate_end:
+      description: Invoked after operate
+    heal:
+      description: Invoked upon receipt of a Heal VNF request
+    heal_start:
+      description: Invoked before heal
+    heal_end:
+      description: Invoked after heal
+    scale:
+      description: Invoked upon receipt of a Scale VNF request
+    scale_start:
+      description: Invoked before scale
+    scale_end:
+      description: Invoked after scale
+    scale_to_level:
+      description: Invoked upon receipt of a Scale VNF to Level request
+    scale_to_level_start:
+      description: Invoked before scale_to_level
+    scale_to_level_end:
+      description: Invoked after scale_to_level
+  tosca.interfaces.node.lifecycle.Standard:
+    create:
+      description: Standard lifecycle create operation.
+    configure:
+      description: Standard lifecycle configure operation.
+    start:
+      description: Standard lifecycle start operation.
+    stop:
+      description: Standard lifecycle stop operation.
+    delete:
+      description: Standard lifecycle delete operation.
diff --git a/s3p/templates/memoryPageSize/Definitions/nodes.yml b/s3p/templates/memoryPageSize/Definitions/nodes.yml
new file mode 100644
index 0000000..62d77f4
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/nodes.yml
@@ -0,0 +1,4781 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+- artifacts.yml
+- capabilities.yml
+- interfaces.yml
+- relationships.yml
+node_types:
+  tosca.nodes.BlockStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 1 MB
+      volume_id:
+        type: string
+        required: false
+      snapshot_id:
+        type: string
+        required: false
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+  tosca.nodes.WebApplication:
+    derived_from: tosca.nodes.Root
+    properties:
+      context_root:
+        type: string
+    capabilities:
+      app_endpoint:
+        type: tosca.capabilities.Endpoint
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.WebServer
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.Database:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: the logical name of the database
+      port:
+        type: integer
+        description: the port the underlying database service will listen to for data
+      user:
+        type: string
+        description: the optional user account name for DB administration
+        required: false
+      password:
+        type: string
+        description: the optional password for the DB user account
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.DBMS
+        relationship: tosca.relationships.HostedOn
+    capabilities:
+      database_endpoint:
+        type: tosca.capabilities.Endpoint.Database
+  tosca.nodes.Container.Runtime:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+      scalable:
+        type: tosca.capabilities.Scalable
+  tosca.nodes.network.Port:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: true
+        default: 0
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        type: boolean
+        required: false
+        default: false
+      ip_range_start:
+        type: string
+        required: false
+      ip_range_end:
+        type: string
+        required: false
+    requirements:
+    - link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  tosca.nodes.Root:
+    description: The TOSCA Node Type all other TOSCA base Node Types derive from
+    attributes:
+      tosca_id:
+        type: string
+      tosca_name:
+        type: string
+      state:
+        type: string
+    capabilities:
+      feature:
+        type: tosca.capabilities.Node
+    requirements:
+    - dependency:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  tosca.nodes.network.Network:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: false
+        default: 4
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      cidr:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      network_id:
+        type: string
+        required: false
+      segmentation_id:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+        default: true
+    capabilities:
+      link:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.Compute:
+    derived_from: tosca.nodes.Root
+    attributes:
+      private_address:
+        type: string
+      public_address:
+        type: string
+      networks:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.NetworkInfo
+      ports:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.PortInfo
+    requirements:
+    - local_storage:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+      endpoint:
+        type: tosca.capabilities.Endpoint.Admin
+      os:
+        type: tosca.capabilities.OperatingSystem
+      scalable:
+        type: tosca.capabilities.Scalable
+      binding:
+        type: tosca.capabilities.network.Bindable
+  tosca.nodes.LoadBalancer:
+    derived_from: tosca.nodes.Root
+    properties:
+      algorithm:
+        type: string
+        required: false
+        status: experimental
+    capabilities:
+      client:
+        type: tosca.capabilities.Endpoint.Public
+        occurrences:
+        - 0
+        - UNBOUNDED
+        description: the Floating (IP) client’s on the public network can connect to
+    requirements:
+    - application:
+        capability: tosca.capabilities.Endpoint
+        relationship: tosca.relationships.RoutesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.DBMS:
+    derived_from: tosca.nodes.SoftwareComponent
+    properties:
+      root_password:
+        type: string
+        required: false
+        description: the optional root password for the DBMS service
+      port:
+        type: integer
+        required: false
+        description: the port the DBMS service will listen to for data and requests
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.Database
+  tosca.nodes.WebServer:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      data_endpoint: tosca.capabilities.Endpoint
+      admin_endpoint: tosca.capabilities.Endpoint.Admin
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.WebApplication
+  tosca.nodes.Container.Application:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Container
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.SoftwareComponent:
+    derived_from: tosca.nodes.Root
+    properties:
+      component_version:
+        type: version
+        required: false
+      admin_credential:
+        type: tosca.datatypes.Credential
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.ObjectStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+      maxsize:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+    capabilities:
+      storage_endpoint:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ServiceProxy:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrailV2.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+      network_policy_entries:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      shared:
+        type: string
+        description: Is virtual network shared
+        required: false
+        status: SUPPORTED
+      forwarding_mode:
+        type: string
+        description: forwarding mode of the virtual network
+        required: false
+        status: SUPPORTED
+      external:
+        type: string
+        description: Is virtual network external
+        required: false
+        status: SUPPORTED
+      allow_transit:
+        type: string
+        description: Whether this network should be transitive.
+        required: false
+        status: SUPPORTED
+      flood_unknown_unicast:
+        type: string
+        description: flood L2 packets on network
+        required: false
+        status: SUPPORTED
+      route_targets:
+        type: list
+        description: route targets associated with the virtual network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extContrailCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.service:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.v2.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.vfc.nodes.volume:
+    derived_from: tosca.nodes.BlockStorage
+  org.openecomp.nodes.VLANNetworkReceptor:
+    derived_from: tosca.nodes.Root
+    capabilities:
+      routing_configuration_internal:
+        type: org.openecomp.capabilities.RoutingConfiguration
+    requirements:
+    - vlan_assignment:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.VLANAssignment
+        relationship: org.openecomp.relationships.AssignsTo
+  org.openecomp.resource.vl.nodes.heat.network.neutron.Net:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      dhcp_agent_ids:
+        type: list
+        description: The IDs of the DHCP agent to schedule the network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      tenant_id:
+        type: string
+        description: The ID of the tenant which will own the network
+        required: false
+        status: SUPPORTED
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      shared:
+        type: boolean
+        description: Whether this network should be shared across all tenants
+        required: false
+        default: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      mtu:
+        type: scalar-unit.size
+        description: The maximum transmission unit size(in bytes) for the network
+        status: SUPPORTED
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.nova.Server:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      admin_pass:
+        type: string
+        description: The administrator password for the server
+        required: false
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      image:
+        type: string
+        description: The ID or name of the image to boot with
+        required: false
+        status: SUPPORTED
+      image_update_policy:
+        type: string
+        description: Policy on how to apply an image-id update
+        required: false
+        default: REBUILD
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REBUILD_PRESERVE_EPHEMERAL
+          - REPLACE
+          - REBUILD
+      metadata:
+        type: json
+        description: Arbitrary JSON metadata to store for this server
+        required: false
+        status: SUPPORTED
+      contrail_service_instance_ind:
+        type: boolean
+        description: Nova server related to service instance indicator
+        required: false
+        default: false
+        status: SUPPORTED
+      user_data_update_policy:
+        type: string
+        description: Policy on how to apply a user_data update
+        required: false
+        default: REPLACE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE
+          - IGNORE
+      flavor_update_policy:
+        type: string
+        description: Policy on how to apply a flavor update
+        required: false
+        default: RESIZE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - RESIZE
+          - REPLACE
+      user_data:
+        type: string
+        description: User data script to be executed by cloud-init
+        required: false
+        default: ''
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: The ID or name of the flavor to boot onto
+        required: true
+        status: SUPPORTED
+      key_name:
+        type: string
+        description: Name of keypair to inject into the server
+        required: false
+        status: SUPPORTED
+      reservation_id:
+        type: string
+        description: A UUID for the set of servers being requested
+        required: false
+        status: SUPPORTED
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      config_drive:
+        type: boolean
+        description: enable config drive on the server
+        required: false
+        status: SUPPORTED
+      personality:
+        type: map
+        description: A map of files to create/overwrite on the server upon boot
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      software_config_transport:
+        type: string
+        description: How the server should receive the metadata required for software configuration
+        required: false
+        default: POLL_SERVER_CFN
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - POLL_SERVER_CFN
+          - POLL_SERVER_HEAT
+          - POLL_TEMP_URL
+          - ZAQAR_MESSAGE
+      user_data_format:
+        type: string
+        description: How the user_data should be formatted for the server
+        required: false
+        default: HEAT_CFNTOOLS
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - SOFTWARE_CONFIG
+          - RAW
+          - HEAT_CFNTOOLS
+      diskConfig:
+        type: string
+        description: Control how the disk is partitioned when the server is created
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - AUTO
+          - MANUAL
+      name:
+        type: string
+        description: Server name
+        required: false
+        status: SUPPORTED
+      scheduler_hints:
+        type: map
+        description: Arbitrary key-value pairs specified by the client to help boot a server
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      accessIPv4:
+        type: string
+        description: The manually assigned alternative public IPv4 address of the server
+        status: SUPPORTED
+      addresses:
+        type: map
+        description: A dict of all network addresses with corresponding port_id
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo
+      accessIPv6:
+        type: string
+        description: The manually assigned alternative public IPv6 address of the server
+        status: SUPPORTED
+      instance_name:
+        type: string
+        description: AWS compatible instance name
+        status: SUPPORTED
+      name:
+        type: string
+        description: Name of the server
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      console_urls:
+        type: string
+        description: URLs of servers consoles
+        status: SUPPORTED
+  org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      description:
+        type: string
+        description: Description of the security group
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this security group, which is not required to be unique.
+        required: false
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of security group rules
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule
+    attributes:
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+    requirements:
+    - port:
+        capability: tosca.capabilities.Attachment
+        node: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.cinder.Volume:
+    derived_from: org.openecomp.resource.vfc.nodes.volume
+    properties:
+      availability_zone:
+        description: The availability zone in which the volume will be created
+        type: string
+        status: SUPPORTED
+        required: false
+      image:
+        description: If specified, the name or ID of the image to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      metadata:
+        description: Key/value pairs to associate with the volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      volume_type:
+        description: If specified, the type of volume to use, mapping to a specific backend
+        type: string
+        status: SUPPORTED
+        required: false
+      description:
+        description: A description of the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      device_type:
+        description: Device type
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - cdrom
+          - disk
+      disk_bus:
+        description: 'Bus of the device: hypervisor driver chooses a suitable default
+          if omitted'
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - ide
+          - lame_bus
+          - scsi
+          - usb
+          - virtio
+      backup_id:
+        description: If specified, the backup to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      source_volid:
+        description: If specified, the volume to use as source
+        type: string
+        status: SUPPORTED
+        required: false
+      boot_index:
+        description: Integer used for ordering the boot disks
+        type: integer
+        status: SUPPORTED
+        required: false
+      size:
+        description: The requested storage size (default unit is MB)
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+        constraints:
+        - greater_or_equal: 1 GB
+      read_only:
+        description: Enables or disables read-only access mode of volume
+        type: boolean
+        status: SUPPORTED
+        required: false
+      name:
+        description: A name used to distinguish the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      scheduler_hints:
+        description: Arbitrary key-value pairs specified by the client to help the Cinder scheduler creating a volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      swap_size:
+        description: The size of the swap, in MB
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+      delete_on_termination:
+        description: Indicate whether the volume should be deleted when the server is terminated
+        type: boolean
+        status: SUPPORTED
+        required: false
+      multiattach:
+        description: Whether allow the volume to be attached more than once
+        type: boolean
+        status: SUPPORTED
+        required: false
+    attributes:
+      display_description:
+        description: Description of the volume
+        type: string
+        status: SUPPORTED
+      attachments:
+        description: The list of attachments of the volume
+        type: string
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      encrypted:
+        description: Boolean indicating if the volume is encrypted or not
+        type: boolean
+        status: SUPPORTED
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+      created_at:
+        description: The timestamp indicating volume creation
+        type: timestamp
+        status: SUPPORTED
+      display_name:
+        description: Name of the volume
+        type: string
+        status: SUPPORTED
+      metadata_values:
+        description: Key/value pairs associated with the volume in raw dict form
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      bootable:
+        description: Boolean indicating if the volume can be booted or not
+        type: boolean
+        status: SUPPORTED
+      status:
+        description: The current status of the volume
+        type: string
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.CR:
+    derived_from: tosca.nodes.Root
+    properties:
+      cr_function:
+        type: string
+      cr_role:
+        type: string
+      cr_type:
+        type: string
+  org.openecomp.resource.vl.extVL:
+    derived_from: tosca.nodes.Root
+    description: VF Tenant oam protected network
+    properties:
+      network_type:
+        type: string
+        required: true
+        description: ECOMP supported network types.
+      network_role:
+        type: string
+        required: true
+        description: |
+          Unique label that defines the role that this network performs.   example: vce oam network, vnat sr-iov1 network
+      network_scope:
+        type: string
+        constraints:
+          valid_values:
+          - VF
+          - SERVICE
+          - GLOBAL
+        description: |
+          Uniquely identifies the network scope. Valid values for the network scope   includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects  the VFs within the service GLOBAL - Global network which can be shared by multiple services
+      network_technology:
+        type: string
+        required: true
+        description: ECOMP supported network technology
+      exVL_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+        required: true
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+        required: true
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+        required: true
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.abstract.nodes.PNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_type:
+        type: string
+      software_versions:
+        type: list
+        entry_schema:
+          type: string
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      entries:
+        type: org.openecomp.datatypes.heat.contrail.network.rule.RuleList
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: tenant_id
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of rules
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.nodes.PortMirroringConfiguration:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+    - collector:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.nodes.VRFObject:
+    derived_from: tosca.nodes.Root
+    description: provides capability to connect WAN Transport Service Proxy to VRF Entry
+    capabilities:
+      routing_configuration_external:
+        type: org.openecomp.capabilities.RoutingConfiguration
+  org.openecomp.resource.abstract.nodes.VFC:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      nfc_function:
+        type: string
+      high_availablity:
+        type: string
+        description: high_availablity
+        required: false
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      nfc_naming_code:
+        type: string
+        description: nfc code for instance naming
+        required: false
+        status: SUPPORTED
+      vm_type_tag:
+        type: string
+        description: vm type based on naming Convention
+        required: false
+        status: SUPPORTED
+      nfc_naming:
+        type: org.openecomp.datatypes.Naming
+        description: vfc naming
+      min_instances:
+        type: integer
+        description: Minimum number of VFC Instances
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      max_instances:
+        type: integer
+        description: Maximum number of VFC Instances
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 1
+  org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.abstract.nodes.VnfConfiguration:
+    derived_from: tosca.nodes.Root
+    properties:
+      allowed_flavors:
+        description: a collection of all flavor valuesets available for a given VFC
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.flavors.DeploymentFlavor
+  org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      network_ipam_refs_data:
+        type: list
+        description: IPAM references Data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData
+      network_policy_refs_data:
+        type: list
+        description: Policy references data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData
+      network_ipam_refs:
+        type: list
+        description: IPAM references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      network_policy_refs:
+        type: list
+        description: Policy references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vl.internalVL:
+    derived_from: tosca.nodes.network.Network
+    description: The AT&T internal (VF-level) Virtual Link
+  org.openecomp.resource.vl.ELine:
+    derived_from: org.openecomp.resource.vl.VL
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 0
+        - 2
+  org.openecomp.resource.vl.VL:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.Configuration:
+    derived_from: tosca.nodes.Root
+    properties:
+      type:
+        type: string
+        description: The type of the node, the configuration will be defined for it. Ex. SBC
+        required: false
+      role:
+        type: string
+        description: The role of the node, the configuration will be defined for it. Ex. Active, Standby
+        required: false
+      function:
+        type: string
+        description: The function of the node, the configuration will be defined for it. Ex. NAT Traversal
+        required: false
+  org.openecomp.resource.cp.nodes.network.v2.SubInterface:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        description: Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to fulfill but may not be able to dependent on the network the port is associated with.
+        type: string
+        required: false
+      order:
+        description: 'The order of the NIC on the compute instance (e.g. eth2). Note:
+          when binding more than one port to a single compute (aka multi vNICs) and
+          ordering is desired, it is *mandatory* that all ports will be set with an
+          order value and. The order values must represent a positive, arithmetic
+          progression that starts with 0 (e.g. 0, 1, 2, ..., n).'
+        type: integer
+        default: 0
+        required: false
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        description: Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway. Only one port that is associated to single compute node can set as default=true.
+        type: boolean
+        default: false
+        required: false
+      ip_range_start:
+        description: Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+      ip_range_end:
+        description: Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+    attributes:
+      ip_address:
+        description: The IP address would be assigned to the associated compute instance.
+        type: string
+    requirements:
+    - subinterface_link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  org.openecomp.resource.cp.v2.extCP:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    description: The SDC External Connection Point base type
+    capabilities:
+      port_mirroring:
+        type: org.openecomp.capabilities.PortMirroring
+  org.openecomp.resource.vfc.nodes.Compute:
+    derived_from: tosca.nodes.Compute
+    capabilities:
+      disk.ephemeral.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.ephemeral.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of ephemeral disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: instance
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: instance
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Existence of instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu.delta
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used since previous datapoint
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Delta
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: '%'
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu_util
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average CPU utilization
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.root.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of root disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: vcpu
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: vcpus
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of virtual CPUs allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance from the amount of its allocated memory
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.resident
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance on the physical machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.MultiFlavorVFC:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      images:
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.ImageInfo
+        required: false
+  org.openecomp.nodes.PortMirroringConfigurationByPolicy:
+    derived_from: tosca.nodes.Root
+    properties:
+      collector_node:
+        type: string
+        description: The name of the Collector Proxy
+        required: true
+      policy_name:
+        type: string
+        description: The name of the policy for selection of the collector interfaces
+        required: true
+      equip_model:
+        type: string
+        description: The name of the equipment type of the collector, i.e. Cisco 4500x
+        required: true
+      equip_vendor:
+        type: string
+        description: The name of the equipment vendor of the collector, i.e. Cisco
+        required: true
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.VF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_naming_code:
+        type: string
+      nf_type:
+        type: string
+      nf_naming:
+        type: org.openecomp.datatypes.Naming
+        Default: true
+      availability_zone_max_count:
+        type: integer
+        default: 1
+        constraints:
+        - valid_values:
+          - 0
+          - 1
+          - 2
+      min_instances:
+        type: integer
+      max_instances:
+        type: integer
+      multi_stage_design:
+        type: boolean
+        default: false
+  org.openecomp.resource.vl.nodes.network.Network:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ForwardingPath:
+    derived_from: tosca.nodes.Root
+    properties:
+      target_range:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          description: Identifier of the reciever port of the VNF or the service
+          type: integer
+      protocol:
+        type: string
+        description: protocol type that runs on the link
+        required: true
+        status: SUPPORTED
+    requirements:
+    - forwarder:
+        capability: org.openecomp.capabilities.Forwarder
+        relationship: org.openecomp.relationships.ForwardsTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.nodes.heat.network.contrail.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.SubInterface:
+    derived_from: tosca.nodes.network.Port
+  org.openecomp.resource.vfc.nodes.heat.contrail.Compute:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the VM
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of active VMs
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: VMs of this compute
+        status: SUPPORTED
+      status:
+        type: string
+        description: status of the compute
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.Port:
+    derived_from: tosca.nodes.network.Port
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        description: Must correlate to the set of defined “network-role�? tag identifiers from the associated HEAT template
+        type: string
+        required: true
+      mac_requirements:
+        description: identifies MAC address assignments to the CP
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+      vlan_requirements:
+        description: identifies vlan address assignments to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+      ip_requirements:
+        description: identifies IP requirements to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+      subinterface_indicator:
+        description: identifies if Port is having Sub Interface
+        type: boolean
+        required: false
+        default: false
+      related_networks:
+        type: list
+        description: Related Networks List.
+        required: false
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+    capabilities:
+      network.incoming.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder:
+        type: org.openecomp.capabilities.Forwarder
+      network.outgoing.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outpoing.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.nodes.VRFEntry:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - routing_configuration_internal:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+    - routing_configuration_external:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+  org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.cp.extCP:
+    derived_from: tosca.nodes.Root
+    description: The SDC Connection Point base type all other CP derive from
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        type: string
+        required: true
+        description: Must correlate to the set of defined “network-role” tag identifiers from the associated HEAT template
+      mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+        description: identifies MAC address assignments to the CP
+      vlan_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+        description: identifies vlan address assignments to the CP
+      ip_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+        description: identifies IP requirements to the CP
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - virtualBinding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+    - external_virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        node: org.openecomp.resource.vl.VL
+    capabilities:
+      internal_connectionPoint:
+        type: tosca.capabilities.Node
+        valid_source_type:
+        - tosca.nodes.network.Port
+  org.openecomp.nodes.FabricConfiguration:
+    derived_from: org.openecomp.nodes.Configuration
+    requirements:
+    - fabric_configuration_monitoring:
+        capability: org.openecomp.capabilities.FabricConfiguration
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      static_routes_list:
+        type: list
+        description: Static routes enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      ordered_interfaces:
+        type: boolean
+        description: Indicates if service interface are ordered
+        required: false
+        default: false
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      service_interface_type_list:
+        type: list
+        description: List of interface types
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - management
+            - left
+            - right
+            - other
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      interface_list:
+        type: list
+        description: List of interfaces
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+      shared_ip_list:
+        type: list
+        description: Shared ips enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the Service Instance
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: The FQ name of the service instance
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service Template of the Service Instance
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of service VMs active for this Service Instance
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: The name of the service instance
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: Service VMs for the Service Instance
+        status: SUPPORTED
+      status:
+        type: string
+        description: Status of the service instance
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.AbstractSubstitute:
+    derived_from: tosca.nodes.Root
+    properties:
+      service_template_filter:
+        type: org.openecomp.datatypes.heat.substitution.SubstitutionFiltering
+        description: Substitution Filter
+        required: true
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.heat.network.neutron.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extNeutronCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+        required: true
+    capabilities:
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.Cp:
+    derived_from: tosca.nodes.Root
+    properties:
+      layer_protocol:
+        type: list
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - ethernet
+            - mpls
+            - odu2
+            - ipv4
+            - ipv6
+            - pseudo_wire
+        required: true
+      role:
+        type: string
+        constraints:
+        - valid_values:
+          - root
+          - leaf
+        required: false
+      description:
+        type: string
+        required: false
+      protocol_data:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.CpProtocolData
+        required: true
+      trunk_mode:
+        type: boolean
+        required: true
+      allowed_address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.nodes.nfv.VnfVirtualLinkDesc:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_flavours:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VlFlavour
+        required: true
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  org.openecomp.resource.vfc.AllottedResource:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+      role:
+        type: string
+        required: true
+        description: Unique label that defines the role that this allotted resource performs
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      target_network_role:
+        type: string
+        required: true
+        description: Target network role
+    requirements:
+    - service_dependency:
+        capability: org.openecomp.capabilities.AllottedResource
+        relationship: tosca.relationships.DependsOn
+        node: tosca.services.Root
+  tosca.nodes.nfv.ext.zte.VDU:
+    derived_from: tosca.nodes.Root
+    properties:
+      manual_scale_select_vim:
+        type: boolean
+        required: false
+      vdu_type:
+        type: string
+        required: false
+      watchdog:
+        type: tosca.datatypes.nfv.ext.zte.WatchDog
+        required: false
+      name:
+        type: string
+        required: false
+      local_affinity_antiaffinity_rule:
+        type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
+        required: false
+      support_scaling:
+        type: boolean
+        required: false
+      storage_policy:
+        type: string
+        required: false
+      key_vdu:
+        type: boolean
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+      inject_data_list:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.InjectData
+    requirements:
+    - guest_os:
+        capability: tosca.capabilities.nfv.ext.GuestOs
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage:
+        capability: tosca.capabilities.nfv.ext.LocalAttachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - volume_storage:
+        capability: tosca.capabilities.Attachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency:
+        capability: tosca.capabilities.Node
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      scalable:
+        type: tosca.capabilities.Scalable
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+      nfv_compute:
+        type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
+      virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+  tosca.nodes.nfv.VDU:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      Virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    properties:
+      bitrate_requirement:
+        type: integer
+        required: false
+      vnic_name:
+        type: string
+        required: false
+      vnic_order:
+        type: integer
+        required: false
+      vnic_type:
+        type: string
+        constraints:
+        - valid_values:
+          - normal
+          - macvtap
+          - direct
+          - baremetal
+          - direct-physical
+          - virtio-forwarder
+        required: false
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+        required: false
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+    - virtual_binding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        relationship: tosca.relationships.nfv.VirtualBindsTo
+        node: tosca.nodes.nfv.Vdu.Compute
+  org.openecomp.resource.vfc.NSD:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      nsd_id:
+        type: string
+        required: true
+        description: ID of the NSD
+      nsd_designer:
+        type: string
+        required: true
+        description: Designer of the NSD
+      nsd_version:
+        type: string
+        required: true
+        description: Version of the NSD
+      nsd_name:
+        type: string
+        required: true
+        description: Name of the NSD
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+        required: true
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+        required: true
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+        required: false
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      user_data:
+        type: string
+        required: false
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+    requirements:
+    - virtual_storage:
+        capability: tosca.capabilities.nfv.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+        node: tosca.nodes.nfv.Vdu.VirtualStorage
+        occurences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.GenericNeutronNet:
+    derived_from: org.openecomp.resource.vl.extVL
+    description: Generic Neutron Network
+    properties:
+      network_role:
+        type: string
+        description: |
+          Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+      network_scope:
+        type: string
+      network_ecomp_naming:
+        type: org.openecomp.datatypes.EcompNaming
+      network_type:
+        type: string
+        description: ECOMP supported network types.
+        default: NEUTRON
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+      network_technology:
+        type: string
+        description: ECOMP supported network technology
+        default: NEUTRON
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      type_of_storage:
+        type: string
+        constraints:
+        - valid_values:
+          - volume
+          - object
+          - root
+          - block
+        required: true
+      size_of_storage:
+        type: scalar-unit.size
+        required: true
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      rdma_enabled:
+        type: boolean
+        required: false
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+  tosca.nodes.nfv.ext.zte.VL:
+    derived_from: tosca.nodes.Root
+    properties:
+      segmentation_id:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      is_predefined:
+        type: boolean
+        required: false
+      mtu:
+        type: integer
+        required: false
+      dns_nameservers:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+      network_id:
+        type: string
+        required: false
+      host_routes:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.HostRouteInfo
+      ip_version:
+        type: integer
+        required: false
+      vendor:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      vlan_transparent:
+        type: boolean
+        required: false
+      cidr:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.ext.LocalStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: string
+        required: false
+      disk_type:
+        type: string
+        required: false
+    capabilities:
+      local_attachment:
+        type: tosca.capabilities.nfv.ext.LocalAttachment
+  tosca.nodes.nfv.ext.zte.CP:
+    derived_from: tosca.nodes.Root
+    properties:
+      guest_os_mtu:
+        type: integer
+        required: false
+      bandwidth:
+        type: integer
+        required: false
+      interface_name:
+        type: string
+        required: false
+      allowed_address_pairs:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.AddressPairs
+      ip_address:
+        type: string
+        required: false
+      bond:
+        type: string
+        required: false
+      proxiedVNFs:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      sfc_encapsulation:
+        type: string
+        required: false
+      floating_ip_address:
+        type: tosca.datatypes.nfv.ext.FloatingIP
+        required: false
+      service_ip_address:
+        required: false
+        type: string
+      mac_address:
+        type: string
+        required: false
+      proxiedVNFtype:
+        type: string
+        required: false
+      macbond:
+        type: string
+        required: false
+      vnic_type:
+        type: string
+        required: false
+      direction:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: false
+    requirements:
+    - forwarder:
+        capability: tosca.capabilities.nfv.Forwarder
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualbinding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualLink:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      forwarder:
+        type: tosca.capabilities.nfv.Forwarder
+  tosca.nodes.nfv.ext.ImageFile:
+    derived_from: tosca.nodes.Root
+    properties:
+      file_url:
+        type: string
+        required: false
+      container_type:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      disk_format:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+    capabilities:
+      guest_os:
+        type: tosca.capabilities.nfv.ext.GuestOs
+      image_fle:
+        type: tosca.capabilities.nfv.ext.ImageFile
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      descriptor_id:
+        type: string
+        required: true
+      descriptor_version:
+        type: string
+        required: true
+      provider:
+        type: string
+        required: true
+      product_name:
+        type: string
+        required: true
+      software_version:
+        type: string
+        required: true
+      product_info_name:
+        type: string
+        required: false
+      product_info_description:
+        type: string
+        required: false
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+        required: true
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      default_localization_language:
+        type: string
+        required: false
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+        required: false
+      modifiable_attributes:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
+        required: false
+      flavour_id:
+        type: string
+        required: true
+      flavour_description:
+        type: string
+        required: true
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Nfv:
+        type: tosca.interfaces.nfv.vnf.lifecycle.Nfv
+  org.openecomp.resource.vl.overlaytunnel:
+    derived_from: tosca.nodes.Root
+    description: This entity represents abstract overlay tunnel end point.
+    properties:
+      id:
+        type: string
+        description: Identifier of the Tunnel Endpoint node.
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      name:
+        type: string
+        description: Overlay tunnel name used by for reference by the administrator.
+        required: false
+      description:
+        type: string
+        description: Additional comments/information about overlay tunnel.
+        required: false
+      tunnelType:
+        type: string
+        constraints:
+        - valid_values:
+          - L3-DCI
+          - L2-DCI
+        description: type defines if the overlay tunnel is L3-DCI tunnel or L2-DCI tunnel.
+        required: true
+      site1_id:
+        type: string
+        description: Identifier of first DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site1_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site1_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site1_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site1_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site1_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site1_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site1_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site1_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site1_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+      site2_id:
+        type: string
+        description: Identifier of second DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site2_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site2_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site2_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site2_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site2_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site2_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site2_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site2_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site2_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.vl.underlayvpn:
+    derived_from: tosca.nodes.Root
+    description: undelay vpn type definitions
+    properties:
+      id:
+        type: string
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      vendor:
+        type: string
+        required: false
+      template_author:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      serviceType:
+        type: string
+        description: type of VPN service
+        required: false
+        default: l3vpn_sptn
+      topology:
+        type: string
+        description: type of VPN topology
+        constraints:
+        - valid_values:
+          - full-mesh
+          - point_to_multipoint
+          - point_to_point
+          - singlePoint
+          - hubspoke
+          - hubspoke_via_hubce
+          - hubspoke_disjoint
+          - ADD_DROP_Z
+        required: false
+        default: full-mesh
+      technology:
+        type: string
+        description: type of VPN technology
+        constraints:
+        - valid_values:
+          - mpls
+          - rosen multivpn
+          - vxlan overlay l3vpn
+          - eth over sdh
+          - vlan
+        required: false
+        default: mpls
+      site1_name:
+        type: string
+        description: name of first site
+        required: false
+      site2_name:
+        type: string
+        description: name of second site
+        required: false
+      sna1_name:
+        type: string
+        description: name of site network accesses associated with the site1
+        required: false
+      sna2_name:
+        type: string
+        description: name of site network accesses associated with the site2
+        required: false
+      pe1_id:
+        type: string
+        description: id of provider edge1, it can be name or ip or uuid
+        required: false
+      pe2_id:
+        type: string
+        description: id of provider edge2, it can be name or ip or uuid
+        required: false
+      ac1_id:
+        type: string
+        description: id of attachment circuit1, it can be port name or uuid
+        required: false
+      ac1_svlan:
+        type: integer
+        description: ac1 svlan
+        required: false
+      ac1_ip:
+        type: string
+        description: ip of ac1, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_peer_ip:
+        type: string
+        description: ip of ac1 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_route:
+        type: string
+        description: route configure of ac1, only for layer3 vpn
+        required: false
+      ac1_protocol:
+        type: string
+        description: routing protocol type of ac1, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        required: false
+      ac1_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac1, , only required for ebgp protocol
+        required: false
+      ac2_id:
+        type: string
+        description: id of attachment circuit2, it can be port name or uuid
+        required: false
+      ac2_svlan:
+        type: integer
+        description: ac2 svlan
+        required: false
+      ac2_ip:
+        type: string
+        description: ip of ac2, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_peer_ip:
+        type: string
+        description: ip of ac2 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_route:
+        type: string
+        description: route configure of ac2, only for layer3 vpn
+        required: false
+      ac2_protocol:
+        type: string
+        description: routing protocol type of ac2, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        default: STATIC
+        required: false
+      ac2_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac2, , only required for ebgp protocol
+        required: false
+      af_type:
+        type: string
+        description: address family type
+        default: ipv4
+        required: false
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
diff --git a/s3p/templates/memoryPageSize/Definitions/policies.yml b/s3p/templates/memoryPageSize/Definitions/policies.yml
new file mode 100644
index 0000000..6063d08
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/policies.yml
@@ -0,0 +1,134 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+policy_types:
+  tosca.policies.Root:
+    description: The TOSCA Policy Type all other TOSCA Policy Types derive from
+  tosca.policies.Placement:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes.
+  tosca.policies.Scaling:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes.
+  tosca.policies.Update:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes.
+  tosca.policies.Performance:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or groups of nodes.
+  org.openecomp.policies.placement.Antilocate:
+    derived_from: tosca.policies.Placement
+    description: My placement policy for separation based upon container type value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      container_type:
+        type: string
+        description: container type
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.Colocate:
+    derived_from: tosca.policies.Placement
+    description: Keep associated nodes (groups of nodes) based upon affinity value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      affinity:
+        type: string
+        description: affinity
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.valet.Diversity:
+    derived_from: tosca.policies.Placement
+    description: Valet Diversity
+    properties:
+      level:
+        type: string
+        description: diversity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Exclusivity:
+    derived_from: tosca.policies.Placement
+    description: Valet Exclusivity
+    properties:
+      level:
+        type: string
+        description: exclusivity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Affinity:
+    derived_from: tosca.policies.Placement
+    description: Valet Affinity
+    properties:
+      level:
+        type: string
+        description: affinity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.scaling.Fixed:
+    derived_from: tosca.policies.Scaling
+    properties:
+      quantity:
+        description: the exact number of instances to keep up
+        type: integer
+        required: true
+  org.openecomp.policies.External:
+    derived_from: tosca.policies.Root
+    description: externally managed policy (for example, type="network assignment", source="Policy Manager", name="route target")
+    properties:
+      source:
+        type: string
+        description: The name of the server that exposes the policy with predefined type and name.
+        required: false
+      type:
+        type: string
+        description: The type (category) of the policy same as it is defined in the source.
+        required: false
+      name:
+        type: string
+        description: The name of the policy, that related to specific type, same as it is defined in the source.
+        required: false
diff --git a/s3p/templates/memoryPageSize/Definitions/relationships.yml b/s3p/templates/memoryPageSize/Definitions/relationships.yml
new file mode 100644
index 0000000..b1b554d
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/relationships.yml
@@ -0,0 +1,142 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- capabilities.yml
+- data.yml
+- interfaces.yml
+relationship_types:
+  tosca.relationships.Root:
+    description: This is the default (root) TOSCA Relationship Type definition that all other TOSCA Relationship Types derive from.
+    attributes:
+      tosca_id:
+        description: A unique identifier of the realized instance of a Relationship Template that derives from any TOSCA normative type.
+        type: string
+      tosca_name:
+        description: This attribute reflects the name of the Relationship Template as defined in the TOSCA service template. This name is not unique to the realized instance model of corresponding deployed application as each template in the model can result in one or more instances (e.g., scaled) when orchestrated to a provider environment.
+        type: string
+      state:
+        description: The state of the relationship instance.
+        type: string
+        default: initial
+    interfaces:
+      Configure:
+        type: tosca.interfaces.relationship.Configure
+  tosca.relationships.RoutesTo:
+    derived_from: tosca.relationships.ConnectsTo
+    description: This type represents an intentional network routing between two Endpoints in different networks.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+  tosca.relationships.network.LinksTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This relationship type represents an association relationship between Port and Network node types.
+    valid_target_types:
+    - tosca.capabilities.network.Linkable
+  tosca.relationships.AttachesTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents an attachment relationship between two nodes. For example, an AttachesTo relationship type would be used for attaching a storage node to a Compute node.
+    valid_target_types:
+    - tosca.capabilities.Attachment
+    properties:
+      location:
+        description: 'The relative location (e.g., path on the file system), which
+          provides the root location to address an attached node. e.g., a mount point
+          / path such as ''/usr/data''. Note: The user must provide it and it cannot
+          be "root".'
+        type: string
+        constraints:
+        - min_length: 1
+      device:
+        description: The logical device name which for the attached device (which is represented by the target node in the model). e.g., '/dev/hda1'.
+        type: string
+        required: false
+    attributes:
+      device:
+        description: 'The logical name of the device as exposed to the instance. Note:
+          A runtime property that gets set when the model gets instantiated by the
+          orchestrator.'
+        type: string
+  tosca.relationships.network.BindsTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This type represents a network association relationship between Port and Compute node types.
+    valid_target_types:
+    - tosca.capabilities.network.Bindable
+  tosca.relationships.HostedOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a hosting relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Container
+  tosca.relationships.DependsOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a general dependency relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Node
+  tosca.relationships.ConnectsTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents a network connection relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+    properties:
+      credential:
+        type: tosca.datatypes.Credential
+        required: false
+  org.openecomp.relationships.VolumeAttachesTo:
+    derived_from: org.openecomp.relationships.AttachesTo
+    description: This type represents an attachment relationship for associating volume
+    properties:
+      volume_id:
+        description: The ID of the volume to be attached
+        type: string
+        status: SUPPORTED
+        required: true
+      instance_uuid:
+        description: The ID of the server to which the volume attaches
+        type: string
+        status: SUPPORTED
+        required: true
+    attributes:
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+  org.openecomp.relationships.AttachesTo:
+    derived_from: tosca.relationships.AttachesTo
+    description: This type represents an attachment relationship
+    properties:
+      location:
+        description: The relative location (e.g., path on the file system), which provides the root location to address an attached node.
+        type: string
+        status: SUPPORTED
+        required: false
+  org.openecomp.relationships.ForwardsTo:
+    derived_from: tosca.relationships.Root
+    valid_target_types:
+    - org.openecomp.capabilities.Forwarder
+  org.openecomp.relationships.AssignsTo:
+    derived_from: tosca.relationships.Root
+  org.openecomp.relationships.RoutesTo:
+    derived_from: tosca.relationships.RoutesTo
+    description: This type represents an intentional network routing between internal and external network
+  tosca.relationships.nfv.VirtualBindsTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualBindable
+  tosca.relationships.nfv.VirtualLinksTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualLinkable
+  tosca.relationships.nfv.Vdu.AttachedTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualStorage
diff --git a/s3p/templates/memoryPageSize/Definitions/resource-VduCompute-template.yml b/s3p/templates/memoryPageSize/Definitions/resource-VduCompute-template.yml
new file mode 100644
index 0000000..546f88a
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/resource-VduCompute-template.yml
@@ -0,0 +1,103 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+  UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+  name: VDU Compute
+  description: VDU Compute
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    description: VDU Compute
+    properties:
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+      name:
+        type: string
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+      description:
+        type: string
+      user_data:
+        type: string
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
diff --git a/s3p/templates/memoryPageSize/Definitions/resource-VduCp-template.yml b/s3p/templates/memoryPageSize/Definitions/resource-VduCp-template.yml
new file mode 100644
index 0000000..ec26637
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/resource-VduCp-template.yml
@@ -0,0 +1,59 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+  UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+  name: VDU Cp
+  description: VDU Cp
+  type: CP
+  category: Generic
+  subcategory: Network Elements
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    description: VDU Cp
+    properties:
+      vnic_name:
+        type: string
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+      bitrate_requirement:
+        type: integer
+      vnic_order:
+        type: integer
+      vnic_type:
+        type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/memoryPageSize/Definitions/resource-VduVirtualstorage-template.yml b/s3p/templates/memoryPageSize/Definitions/resource-VduVirtualstorage-template.yml
new file mode 100644
index 0000000..566f705
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/resource-VduVirtualstorage-template.yml
@@ -0,0 +1,50 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+  UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+  name: VDU VirtualStorage
+  description: VDU VirtualStorage
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    description: VDU VirtualStorage
+    properties:
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+      size_of_storage:
+        type: scalar-unit.size
+      rdma_enabled:
+        type: boolean
+      type_of_storage:
+        type: string
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/memoryPageSize/Definitions/resource-Vgw1181049-template-interface.yml b/s3p/templates/memoryPageSize/Definitions/resource-Vgw1181049-template-interface.yml
new file mode 100644
index 0000000..93cb070
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/resource-Vgw1181049-template-interface.yml
@@ -0,0 +1,208 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.resource.vf.Vgw1181049:
+    derived_from: org.openecomp.resource.abstract.nodes.VF
+    properties:
+      nf_naming:
+        default:
+          ecomp_generated_naming: true
+        type: org.openecomp.datatypes.Naming
+        required: false
+      multi_stage_design:
+        default: false
+        type: boolean
+        required: false
+      nf_function:
+        type: string
+        required: false
+      nf_naming_code:
+        type: string
+        required: false
+      availability_zone_max_count:
+        default: 1
+        type: integer
+        required: false
+      nf_role:
+        type: string
+        required: false
+      min_instances:
+        type: integer
+        required: false
+      max_instances:
+        type: integer
+        required: false
+      nf_type:
+        type: string
+        required: false
+    capabilities:
+      vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/memoryPageSize/Definitions/resource-Vgw1181049-template.yml b/s3p/templates/memoryPageSize/Definitions/resource-Vgw1181049-template.yml
new file mode 100644
index 0000000..7063fde
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/resource-Vgw1181049-template.yml
@@ -0,0 +1,282 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+  UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+  name: ##RANDOM_RESOURCE_NAME##
+  description: test
+  type: VF
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: vendor
+  resourceVendorRelease: '1.0'
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+- resource-VNF:
+    file: resource-Vnf-template.yml
+- resource-VnfVirtualLink:
+    file: resource-Vnfvirtuallink-template.yml
+- resource-VDU Cp:
+    file: resource-VduCp-template.yml
+- resource-VDU VirtualStorage:
+    file: resource-VduVirtualstorage-template.yml
+- resource-VDU Compute:
+    file: resource-VduCompute-template.yml
+topology_template:
+  inputs:
+    nf_naming:
+      default:
+        ecomp_generated_naming: true
+      type: org.openecomp.datatypes.Naming
+      required: false
+    multi_stage_design:
+      default: false
+      type: boolean
+      required: false
+    nf_function:
+      type: string
+      required: false
+    nf_naming_code:
+      type: string
+      required: false
+    availability_zone_max_count:
+      default: 1
+      type: integer
+      required: false
+    nf_role:
+      type: string
+      required: false
+    min_instances:
+      type: integer
+      required: false
+    max_instances:
+      type: integer
+      required: false
+    nf_type:
+      type: string
+      required: false
+  node_templates:
+    LLU_VNF:
+      type: tosca.nodes.nfv.VNF
+      metadata:
+        invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+        UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+        customizationUUID: 06bffc87-30c7-42ad-b99d-19c6c13405dc
+        version: '1.0'
+        name: VNF
+        description: VNF
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        descriptor_id: b1bb0ce7-2222-4fa7-95ed-4840d70a1177
+        provider: onap
+        vnfm_info:
+        - gvnfm
+        flavour_id: simple
+        descriptor_version: '1.0'
+        software_version: '1.0'
+        flavour_description: simple
+        product_name: vcpe_vgw
+    VL_mux_gw_private_net:
+      type: tosca.nodes.nfv.VnfVirtualLink
+      metadata:
+        invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+        UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+        customizationUUID: fbea54ef-8f8b-4f35-81d6-997a47282698
+        version: '1.0'
+        name: VnfVirtualLink
+        description: VnfVirtualLink
+        type: VL
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        vl_profile:
+          min_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          max_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          networkName: mux_gw_private_net_id
+          cidr: 192.168.0.0/24
+          dhcpEnabled: false
+        connectivity_type:
+          layer_protocol: ipv4
+    VDU_vgw_0:
+      type: tosca.nodes.nfv.Vdu.Compute
+      metadata:
+        invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+        UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+        customizationUUID: 93c3f2e3-67e7-4bb4-be11-8a48df924c4c
+        version: '1.0'
+        name: VDU Compute
+        description: VDU Compute
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        configurable_properties:
+          additional_vnfc_configurable_properties: {
+            }
+        name: vdu_vgw_0
+        description: vgw
+        vdu_profile:
+          watchdog: none
+          min_number_of_instances: 1
+          max_number_of_instances: 1
+      requirements:
+      - virtual_storage:
+          capability: virtual_storage
+          node: VirtualStorage_root_all
+      capabilities:
+        virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+              vdu_memory_requirements:
+                memoryPageSize: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform": "generic", "mandatory": "false", "configurationValue": "2 MB"}'
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+    VirtualStorage_root_all:
+      type: tosca.nodes.nfv.Vdu.VirtualStorage
+      metadata:
+        invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+        UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+        customizationUUID: dc20e1ad-aed9-4154-b2b4-3a702eee49a7
+        version: '1.0'
+        name: VDU VirtualStorage
+        description: VDU VirtualStorage
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        size_of_storage: 40 GB
+        type_of_storage: root
+    Cp_vgw_mux_gw_private_net:
+      type: tosca.nodes.nfv.VduCp
+      metadata:
+        invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+        UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+        customizationUUID: b5ff315f-effc-46e9-a0c5-aec1954845e0
+        version: '1.0'
+        name: VDU Cp
+        description: VDU Cp
+        type: CP
+        category: Generic
+        subcategory: Network Elements
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        trunk_mode: false
+        protocol_data:
+        - asscociated_layer_protocol: ipv4
+          address_data:
+            address_type: ip_address
+            l3_address_data:
+              fixed_ip_address:
+              - 192.168.0.1
+              ip_address_assignment: false
+              floating_ip_activated: false
+        layer_protocol:
+        - ipv4
+      requirements:
+      - virtual_link:
+          capability: virtual_linkable
+          node: VL_mux_gw_private_net
+      - virtual_binding:
+          capability: virtual_binding
+          node: VDU_vgw_0
+  substitution_mappings:
+    node_type: org.openecomp.resource.vf.Vgw1181049
+    capabilities:
+      vl_mux_gw_private_net.feature:
+      - vl_mux_gw_private_net
+      - feature
+      cp_vgw_mux_gw_private_net.feature:
+      - cp_vgw_mux_gw_private_net
+      - feature
+      vdu_vgw_0.virtual_compute:
+      - vdu_vgw_0
+      - virtual_compute
+      vdu_vgw_0.virtual_binding:
+      - vdu_vgw_0
+      - virtual_binding
+      virtualstorage_root_all.virtual_storage:
+      - virtualstorage_root_all
+      - virtual_storage
+      llu_vnf.feature:
+      - llu_vnf
+      - feature
+      vl_mux_gw_private_net.virtual_linkable:
+      - vl_mux_gw_private_net
+      - virtual_linkable
+      vl_mux_gw_private_net.monitoring_parameter:
+      - vl_mux_gw_private_net
+      - monitoring_parameter
+      vdu_vgw_0.monitoring_parameter:
+      - vdu_vgw_0
+      - monitoring_parameter
+      virtualstorage_root_all.feature:
+      - virtualstorage_root_all
+      - feature
+      vdu_vgw_0.feature:
+      - vdu_vgw_0
+      - feature
+    requirements:
+      vdu_vgw_0.virtual_storage:
+      - vdu_vgw_0
+      - virtual_storage
+      vl_mux_gw_private_net.dependency:
+      - vl_mux_gw_private_net
+      - dependency
+      virtualstorage_root_all.dependency:
+      - virtualstorage_root_all
+      - dependency
+      vdu_vgw_0.dependency:
+      - vdu_vgw_0
+      - dependency
+      cp_vgw_mux_gw_private_net.virtual_binding:
+      - cp_vgw_mux_gw_private_net
+      - virtual_binding
+      cp_vgw_mux_gw_private_net.dependency:
+      - cp_vgw_mux_gw_private_net
+      - dependency
+      llu_vnf.dependency:
+      - llu_vnf
+      - dependency
+      llu_vnf.virtual_link:
+      - llu_vnf
+      - virtual_link
+      cp_vgw_mux_gw_private_net.virtual_link:
+      - cp_vgw_mux_gw_private_net
+      - virtual_link
diff --git a/s3p/templates/memoryPageSize/Definitions/resource-Vnf-template.yml b/s3p/templates/memoryPageSize/Definitions/resource-Vnf-template.yml
new file mode 100644
index 0000000..121aba2
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/resource-Vnf-template.yml
@@ -0,0 +1,70 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+  UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+  name: VNF
+  description: VNF
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    description: VNF
+    properties:
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+      product_info_name:
+        type: string
+      default_localization_language:
+        type: string
+      flavour_id:
+        type: string
+      flavour_description:
+        type: string
+      product_name:
+        type: string
+      descriptor_id:
+        type: string
+      product_info_description:
+        type: string
+      provider:
+        type: string
+      descriptor_version:
+        type: string
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+      software_version:
+        type: string
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
diff --git a/s3p/templates/memoryPageSize/Definitions/resource-Vnfvirtuallink-template.yml b/s3p/templates/memoryPageSize/Definitions/resource-Vnfvirtuallink-template.yml
new file mode 100644
index 0000000..d39b1b3
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/resource-Vnfvirtuallink-template.yml
@@ -0,0 +1,57 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+  UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+  name: VnfVirtualLink
+  description: VnfVirtualLink
+  type: VL
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    description: VnfVirtualLink
+    properties:
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+      description:
+        type: string
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/memoryPageSize/Definitions/service-Testns8-template-interface.yml b/s3p/templates/memoryPageSize/Definitions/service-Testns8-template-interface.yml
new file mode 100644
index 0000000..45fc306
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/service-Testns8-template-interface.yml
@@ -0,0 +1,176 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.service.Testns8:
+    derived_from: org.openecomp.resource.abstract.nodes.service
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+    requirements:
+    - vgw11810490.llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - vgw11810490.llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/memoryPageSize/Definitions/service-Testns8-template.yml b/s3p/templates/memoryPageSize/Definitions/service-Testns8-template.yml
new file mode 100644
index 0000000..9d9bdc3
--- /dev/null
+++ b/s3p/templates/memoryPageSize/Definitions/service-Testns8-template.yml
@@ -0,0 +1,135 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 5be056bd-1ecd-4c14-9465-3bbc994190ee
+  UUID: 188ed3c6-1573-4b2d-9d3f-a03693bed79b
+  name: TestNs8
+  description: test
+  type: Service
+  category: Network Service
+  serviceType: ''
+  serviceRole: ''
+  instantiationType: A-la-carte
+  serviceEcompNaming: true
+  ecompGeneratedNaming: true
+  namingPolicy: ''
+  environmentContext: General_Revenue-Bearing
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- service-TestNs8-interface:
+    file: service-Testns8-template-interface.yml
+- resource-vgw1181049:
+    file: resource-Vgw1181049-template.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+topology_template:
+  node_templates:
+    vgw1181049 0:
+      type: org.openecomp.resource.vf.Vgw1181049
+      metadata:
+        invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+        UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+        customizationUUID: 32efc3ac-6fd2-4cda-9f15-592e54f41560
+        version: '1.0'
+        name: ##RANDOM_RESOURCE_NAME##
+        description: test
+        type: VF
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: vendor
+        resourceVendorRelease: '1.0'
+        resourceVendorModelNumber: ''
+      properties:
+        nf_naming:
+          ecomp_generated_naming: true
+        multi_stage_design: false
+        availability_zone_max_count: 1
+      capabilities:
+        vdu_vgw_0.virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+              vdu_memory_requirements:
+                numberOfPages: '{"schemaVersion": "0","schemaSelector": "","hardwarePlatform":
+                  "generic","mandatory": "true", "configurationValue": "1024"}'
+                memoryPageSize: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform":
+                  "generic", "mandatory": "true", "configurationValue": "2 MB"}'
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+  substitution_mappings:
+    node_type: org.openecomp.service.Testns8
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+      - vgw11810490
+      - virtualstorage_root_all.virtual_storage
+      vgw11810490.llu_vnf.feature:
+      - vgw11810490
+      - llu_vnf.feature
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+      - vgw11810490
+      - vdu_vgw_0.monitoring_parameter
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+      - vgw11810490
+      - vl_mux_gw_private_net.monitoring_parameter
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.feature
+      vgw11810490.vl_mux_gw_private_net.feature:
+      - vgw11810490
+      - vl_mux_gw_private_net.feature
+      vgw11810490.vdu_vgw_0.feature:
+      - vgw11810490
+      - vdu_vgw_0.feature
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+      - vgw11810490
+      - vl_mux_gw_private_net.virtual_linkable
+      vgw11810490.vdu_vgw_0.virtual_binding:
+      - vgw11810490
+      - vdu_vgw_0.virtual_binding
+      vgw11810490.virtualstorage_root_all.feature:
+      - vgw11810490
+      - virtualstorage_root_all.feature
+      vgw11810490.vdu_vgw_0.virtual_compute:
+      - vgw11810490
+      - vdu_vgw_0.virtual_compute
+    requirements:
+      vgw11810490.vdu_vgw_0.virtual_storage:
+      - vgw11810490
+      - vdu_vgw_0.virtual_storage
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_link
+      vgw11810490.llu_vnf.dependency:
+      - vgw11810490
+      - llu_vnf.dependency
+      vgw11810490.virtualstorage_root_all.dependency:
+      - vgw11810490
+      - virtualstorage_root_all.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.dependency
+      vgw11810490.llu_vnf.virtual_link:
+      - vgw11810490
+      - llu_vnf.virtual_link
+      vgw11810490.vl_mux_gw_private_net.dependency:
+      - vgw11810490
+      - vl_mux_gw_private_net.dependency
+      vgw11810490.vdu_vgw_0.dependency:
+      - vgw11810490
+      - vdu_vgw_0.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_binding
diff --git a/s3p/templates/memoryPageSize/TOSCA-Metadata/TOSCA.meta b/s3p/templates/memoryPageSize/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000..e65ed50
--- /dev/null
+++ b/s3p/templates/memoryPageSize/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,7 @@
+TOSCA-Meta-File-Version: 1.0
+CSAR-Version: 1.1
+Created-By: Carlos Santana
+Entry-Definitions: Definitions/service-Testns8-template.yml
+
+Name: csar.meta
+Content-Type: text/plain
diff --git a/s3p/templates/memoryPageSize/csar.meta b/s3p/templates/memoryPageSize/csar.meta
new file mode 100644
index 0000000..bc3359c
--- /dev/null
+++ b/s3p/templates/memoryPageSize/csar.meta
@@ -0,0 +1,2 @@
+SDC-TOSCA-Meta-File-Version: 1.0
+SDC-TOSCA-Definitions-Version: 9.0
diff --git a/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
new file mode 100644
index 0000000..6059757
--- /dev/null
+++ b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAxsekiqwLgs9VfChnr2bnpLC3VqD1iT+s969vWe05j1RDozPu
+zyD3krNgVUcd65x2QQJWrDK2fnyQUtubbPb3wviLXs0Gof4a/b65JsMQkeeC2/OK
+aFvrE6D3heouXmWO1vo1iXy2hUhcfXdr6eM3rP3zpU9zb2Al25/90Ha8kKBpe1RS
+PKHpmcqVXIpGVxJSXnioAFXUsJ687qrTv7Zm13AHkm2L1Y5IvMsGHLFjFTGFlFoY
+ftQQAepF507CFqs66tD378vvNVg8LYqrKpnfdx2PIRNLHAa1xQWc0EvwGHyBQZRL
+hTXS3M3IZ7Y22dJ+3Zg15PMx7QmWDZO5MG/JPwIDAQABAoIBAE5KS1AiutXmezDP
+aSb4TLvcrhj8hDhuT92txxmQCV+ePJWG2sPRpDCvXX246NvnX9vy49gmkSH4RY+c
+1vZvvt2XrqzD65zZzB+sgpf1tA0DNdMTdKvtqASvHU4tEd4z+bJKEdP4vpp4CZWQ
+93vC9ia4TsIJLNns8Hwz42+7lEEResKYZA2djGnzHl+83vR1dm0GGBD6BKR1C3Cx
+HbEhqx42EV61+8nAweQNjWKxeAc2hg+H8o8qWJM1aKy0TnqW6kudOYRyYIpX0rJA
+siE2HwvDA1mDd5M8ntZ/Cx0pnTc/cuZB8BQJ0jN1JXbrJGbWspBNXformw7isbyO
+WIOjvEECgYEA84XKV3aPrTE2JBs5vzzs59NMPV+5frw+xzDyPxqK5Q7+jjVKDwxh
+/WRatCaTdRxhOI905HfVsDYjrsPOpmF9MHsLxmBhwk8zBFOu/xtYr7zBNkJhmCsq
+kZMdxf8bpu08E7kMQJ2MvT7OhM5HRlWIUR0jdja8Hz51Ro4oOb/po7kCgYEA0Pb5
+v12ZsaSHMF0r4l983PifNwYmI22iQIEtRT2DxgTkDKgBTjbRzqZmEhaADMAO48o9
+sIZy+KJ/a8G9fPQVwMgBID8zOHnWsrFmM3qkj5hhrAQdtq7OE71zgaP0tyE1TG4u
+Zs3a7eSyuoildHHFqX88oXSYsTlfV8vn23UpwLcCgYEAwXiCuBger8dQL0FeEJwz
+zz5k7MG3WoPuEEzHuPC6dp8CCDM4IlqBI1JuaX/YWQtyBgCbKsQ2BigNE1THQhJj
+5ndrdHCwWjKX4pElj9HHFN+OVTBJ3x40VLGfzuUNsAH8X+L9Y/yHivZyFrrXj352
+rZLL0KhNrzjs7WAVf0QEOCkCgYBe2s1xnZZnueyX+qMyBfBTChST0Jm9WUXejAS1
+un+3gn7Wc+jrzRyd9pC8wzPrFb9sjWBFYjKMRI8cpfxS3SWGtgM01Rt2FnBr+vUO
+hyxt9ljX0aJ/S4hGE6h7/6XU/yEHibhMeENZ24d5/w9D9WUpVJV8IMYzJHzwCKI9
+z0hdrwKBgQDMKvY3DBpZjhZe9YnOgdj4SRpNwaasUSf3a3SZYY1JyOZVUzeSSzoX
+rYLfxBRDjkJ8Nnod+nR/JSRqYa/SJYEMZEZFsC+k/pvBiaP6tk694IlpLD/2MXN6
+14FUV5LH/rGSbZJMSfZ9yNX1XZDowH8nOu+qlmlU4lmgiOuityTmtw==
+-----END RSA PRIVATE KEY-----
diff --git a/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
new file mode 100644
index 0000000..f31d15d
--- /dev/null
+++ b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
@@ -0,0 +1 @@
+ubuntu_16.04
diff --git a/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
new file mode 100644
index 0000000..c49c2c6
--- /dev/null
+++ b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
@@ -0,0 +1 @@
+<vendor-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><entitlement-pool-list><entitlement-pool><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><version>1.0</version><name>entitlement pool</name><description/><increments/><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><version>1.0</version><name>license key</name><description/><type>Universal</type><increments/><manufacturerReferenceNumber/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list></vendor-license-model>
\ No newline at end of file
diff --git a/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
new file mode 100644
index 0000000..db573af
--- /dev/null
+++ b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
@@ -0,0 +1 @@
+<vf-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><vf-id>2455e00dddf84eedaaed6eb412d39a7e</vf-id><feature-group-list><feature-group><entitlement-pool-list><entitlement-pool><name>entitlement pool</name><description/><increments/><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><name>license key</name><description/><type>Universal</type><increments/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><manufacturer-reference-number/><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list><name>feature group</name><feature-group-uuid>d3780d334c4c42d38c7ab1ec23a65cfd</feature-group-uuid><part-number>4444</part-number><description/></feature-group></feature-group-list></vf-license-model>
\ No newline at end of file
diff --git a/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
new file mode 100644
index 0000000..f08e56f
--- /dev/null
+++ b/s3p/templates/numberOfPages/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
@@ -0,0 +1,29 @@
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
+
+
+1.    VSP Details: 
+    a.    Name: vgw1181049
+    b.    Description test
+    c.    Version: 0.0
+    d.    Vendor: vendor
+    e.    Category: resourceNewCategory.generic
+    f.    License Details: 
+        i.    License Model Version: 0.0
+        ii.    License Agreement Name: b24b9792f0ec4e72818387a230acec5a
+        iii    List of Feature Groups: 
+            1.    d3780d334c4c42d38c7ab1ec23a65cfd
+    g.    High Availability 
+    h.    Storage Data Back-up Details: 
+        i.    Data Replication Required?: false
+        ii.    	Data Size to replicate in GB: null
+        iii.    Data replication frequency: null
+        iv.    Replication Source: null
+        v.    Replication Destination: null
+    3.    List of VFCs 
+        a.    For each VFC: 
+
+
+
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
\ No newline at end of file
diff --git a/s3p/templates/numberOfPages/Definitions/annotations.yml b/s3p/templates/numberOfPages/Definitions/annotations.yml
new file mode 100644
index 0000000..2f14606
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/annotations.yml
@@ -0,0 +1,30 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+annotation_types:
+  org.openecomp.annotations.Source:
+    description: Indicates the origin source of an input
+    properties:
+      source_type:
+        type: string
+      vf_module_label:
+        type: list
+        description: List of VF Modules this input was originated from
+        entry_schema:
+          type: string
+      param_name:
+        type: string
+        description: Source parameter name
diff --git a/s3p/templates/numberOfPages/Definitions/artifacts.yml b/s3p/templates/numberOfPages/Definitions/artifacts.yml
new file mode 100644
index 0000000..175615c
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/artifacts.yml
@@ -0,0 +1,42 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+artifact_types:
+  tosca.artifacts.Root:
+    description: This is the default (root) TOSCA Artifact Type definition that all other TOSCA base Artifact Types derive from.
+  tosca.artifacts.Deployment.Image:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact type represents a parent type for any "image" which is an opaque packaging of a TOSCA Node's deployment (whether real or virtual) whose contents are typically already installed and pre-configured (i.e., "stateful") and prepared to be run on a known target container.
+  tosca.artifacts.Implementation.Bash:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Bash script type that contains Bash commands that can be executed on the Unix Bash shell.
+  tosca.artifacts.Deployment.Image.VM:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact represents the parent type for all Virtual Machine (VM) image and container formatted deployment artifacts. These images contain a stateful capture of a machine (e.g., server) including operating system and installed software along with any configurations and can be run on another machine using a hypervisor which virtualizes typical server (i.e., hardware) resources.
+  tosca.artifacts.Implementation.Python:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Python file that contains Python language constructs that can be executed within a Python interpreter.
+  tosca.artifacts.Deployment:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all deployment artifacts in TOSCA. This class of artifacts typically represents a binary packaging of an application or service that is used to install/create or deploy it as part of a node's lifecycle.
+  tosca.artifacts.File:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type is used when an artifact definition needs to have its associated file simply treated as a file and no special handling/handlers are invoked (i.e., it is not treated as either an implementation or deployment artifact type).
+  tosca.artifacts.Implementation:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all implementation artifacts in TOSCA. These artifacts are used to implement operations of TOSCA interfaces either directly (e.g., scripts) or indirectly (e.g., config. files).
+  tosca.artifacts.nfv.SwImage:
+    derived_from: tosca.artifacts.Deployment.Image
diff --git a/s3p/templates/numberOfPages/Definitions/capabilities.yml b/s3p/templates/numberOfPages/Definitions/capabilities.yml
new file mode 100644
index 0000000..734c201
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/capabilities.yml
@@ -0,0 +1,293 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+capability_types:
+  tosca.capabilities.Root:
+    description: The TOSCA root Capability Type all other TOSCA base Capability Types derive from
+  tosca.capabilities.Attachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Node:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Container:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: integer
+        required: false
+        constraints:
+        - greater_or_equal: 1
+      cpu_frequency:
+        type: scalar-unit.frequency
+        required: false
+        constraints:
+        - greater_or_equal: 0.1 GHz
+      disk_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+      mem_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+  org.openecomp.capabilities.PortMirroring:
+    derived_from: tosca.capabilities.Root
+    properties:
+      connection_point:
+        type: org.openecomp.datatypes.PortMirroringConnectionPointDescription
+  tosca.capabilities.Endpoint:
+    derived_from: tosca.capabilities.Root
+    properties:
+      protocol:
+        type: string
+        default: tcp
+      port:
+        type: PortDef
+        required: false
+      secure:
+        type: boolean
+        default: false
+      url_path:
+        type: string
+        required: false
+      port_name:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+        default: PRIVATE
+      initiator:
+        type: string
+        default: source
+        constraints:
+        - valid_values:
+          - source
+          - target
+          - peer
+      ports:
+        type: map
+        required: false
+        constraints:
+        - min_length: 1
+        entry_schema:
+          type: PortSpec
+    attributes:
+      ip_address:
+        type: string
+  tosca.capabilities.DatabaseEndpoint:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.Endpoint.Public:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      network_name: PUBLIC
+      floating:
+        description: |
+          indicates that the public address should be allocated from a pool of floating IPs that are associated with the network.
+        type: boolean
+        default: false
+        status: experimental
+      dns_name:
+        description: The optional name to register with DNS
+        type: string
+        required: false
+        status: experimental
+  tosca.capabilities.Endpoint.Admin:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      secure: true
+  tosca.capabilities.Endpoint.Database:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.OperatingSystem:
+    derived_from: tosca.capabilities.Root
+    properties:
+      architecture:
+        type: string
+        required: false
+      type:
+        type: string
+        required: false
+      distribution:
+        type: string
+        required: false
+      version:
+        type: version
+        required: false
+  tosca.capabilities.Scalable:
+    derived_from: tosca.capabilities.Root
+    properties:
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      default_instances:
+        type: integer
+  tosca.capabilities.network.Bindable:
+    derived_from: tosca.capabilities.Node
+  tosca.capabilities.Container.Docker:
+    derived_from: tosca.capabilities.Container
+    properties:
+      version:
+        type: list
+        required: false
+        entry_schema: version
+      publish_all:
+        type: boolean
+        default: false
+        required: false
+      publish_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      expose_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      volumes:
+        type: list
+        entry_schema: string
+        required: false
+  tosca.capabilities.network.Linkable:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.AllottedResource:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Metric:
+    derived_from: tosca.capabilities.Endpoint
+  org.openecomp.capabilities.Metric:
+    derived_from: tosca.capabilities.nfv.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored.
+    properties:
+      unit:
+        type: string
+        description: Unit of the metric value
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: Description of the metric
+        required: false
+        status: SUPPORTED
+      type:
+        type: string
+        description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+        required: true
+        status: SUPPORTED
+      category:
+        type: string
+        description: Category of the metric, for an example, compute, disk, network, storage and etc.
+        required: false
+        status: SUPPORTED
+    attributes:
+      value:
+        type: string
+        description: Runtime monitored value
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.Ceilometer:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+    properties:
+      name:
+        type: string
+        description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpPolling:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp polling.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpTrap:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp trap.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.Forwarder:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.VLANAssignment:
+    derived_from: tosca.capabilities.Root
+    description: ability to expose routing information of the internal network
+    properties:
+      vfc_instance_group_reference:
+        type: string
+        description: Ability to recognize capability per vfc instance group on vnf instance
+        required: true
+  org.openecomp.capabilities.RoutingConfiguration:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.FabricConfiguration:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualStorage:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualCompute:
+    derived_from: tosca.capabilities.Root
+    properties:
+      logical_node:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+      compute_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      requested_additional_capabilities:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.RequestedAdditionalCapability
+        required: false
+      virtual_memory:
+        type: tosca.datatypes.nfv.VirtualMemory
+        required: true
+      virtual_cpu:
+        type: tosca.datatypes.nfv.VirtualCpu
+        required: true
+  tosca.capabilities.nfv.VirtualBindable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ExtVirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Forwarder:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.GuestOs:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.ImageFile:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.LocalAttachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.Compute.Container.Architecture:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: string
+        required: false
+      flavor_extra_specs:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      mem_size:
+        type: string
+        required: false
diff --git a/s3p/templates/numberOfPages/Definitions/data.yml b/s3p/templates/numberOfPages/Definitions/data.yml
new file mode 100644
index 0000000..0ff7179
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/data.yml
@@ -0,0 +1,1733 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+data_types:
+  tosca.datatypes.Root:
+    description: The TOSCA root Data Type all other TOSCA base Data Types derive from
+  integer:
+    derived_from: tosca.datatypes.Root
+  string:
+    derived_from: tosca.datatypes.Root
+  boolean:
+    derived_from: tosca.datatypes.Root
+  float:
+    derived_from: tosca.datatypes.Root
+  list:
+    derived_from: tosca.datatypes.Root
+  map:
+    derived_from: tosca.datatypes.Root
+  json:
+    derived_from: tosca.datatypes.Root
+  scalar-unit:
+    derived_from: tosca.datatypes.Root
+  scalar-unit.size:
+    derived_from: scalar-unit
+  scalar-unit.time:
+    derived_from: scalar-unit
+  scalar-unit.frequency:
+    derived_from: scalar-unit
+  tosca.datatypes.Credential:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: false
+      token_type:
+        type: string
+        default: password
+      token:
+        type: string
+      keys:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      user:
+        type: string
+        required: false
+  org.openecomp.datatypes.PortMirroringConnectionPointDescription:
+    derived_from: tosca.datatypes.Root
+    properties:
+      nf_naming_code:
+        type: string
+      nfc_naming_code:
+        type: string
+      network_role:
+        type: string
+      pps_capacity:
+        type: string
+      nf_type:
+        type: string
+        description: deprecated
+      nfc_type:
+        type: string
+        description: deprecated
+  tosca.datatypes.TimeInterval:
+    derived_from: tosca.datatypes.Root
+    properties:
+      start_time:
+        type: timestamp
+        required: true
+      end_time:
+        type: timestamp
+        required: true
+  tosca.datatypes.network.NetworkInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      network_name:
+        type: string
+      network_id:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      port_name:
+        type: string
+      port_id:
+        type: string
+      network_id:
+        type: string
+      mac_address:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortDef:
+    derived_from: integer
+    constraints:
+    - in_range:
+      - 1
+      - 65535
+  tosca.datatypes.network.PortSpec:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: true
+        default: tcp
+        constraints:
+        - valid_values:
+          - udp
+          - tcp
+          - igmp
+      target:
+        type: tosca.datatypes.network.PortDef
+      target_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+      source:
+        type: tosca.datatypes.network.PortDef
+      source_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+  org.openecomp.datatypes.heat.network.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: MAC/IP address pairs
+    properties:
+      mac_address:
+        type: string
+        description: MAC address
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.subnet.HostRoute:
+    derived_from: tosca.datatypes.Root
+    description: Host route info for the subnet
+    properties:
+      destination:
+        type: string
+        description: The destination for static route
+        required: false
+        status: SUPPORTED
+      nexthop:
+        type: string
+        description: The next hop for the destination
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.AllocationPool:
+    derived_from: tosca.datatypes.Root
+    description: The start and end addresses for the allocation pool
+    properties:
+      start:
+        type: string
+        description: Start address for the allocation pool
+        required: false
+        status: SUPPORTED
+      end:
+        type: string
+        description: End address for the allocation pool
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.Subnet:
+    derived_from: tosca.datatypes.Root
+    description: A subnet represents an IP address block that can be used for assigning IP addresses to virtual instances
+    properties:
+      tenant_id:
+        type: string
+        description: The ID of the tenant who owns the network
+        required: false
+        status: SUPPORTED
+      enable_dhcp:
+        type: boolean
+        description: Set to true if DHCP is enabled and false if DHCP is disabled
+        required: false
+        default: true
+        status: SUPPORTED
+      ipv6_address_mode:
+        type: string
+        description: IPv6 address mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      ipv6_ra_mode:
+        type: string
+        description: IPv6 RA (Router Advertisement) mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      allocation_pools:
+        type: list
+        description: The start and end addresses for the allocation pools
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AllocationPool
+      subnetpool:
+        type: string
+        description: The name or ID of the subnet pool
+        required: false
+        status: SUPPORTED
+      dns_nameservers:
+        type: list
+        description: A specified set of DNS name servers to be used
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      host_routes:
+        type: list
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.subnet.HostRoute
+      ip_version:
+        type: integer
+        description: The gateway IP address
+        required: false
+        default: 4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - '4'
+          - '6'
+      name:
+        type: string
+        description: The name of the subnet
+        required: false
+        status: SUPPORTED
+      prefixlen:
+        type: integer
+        description: Prefix length for subnet allocation from subnet pool
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      cidr:
+        type: string
+        description: The CIDR
+        required: false
+        status: SUPPORTED
+      gateway_ip:
+        type: string
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.novaServer.network.PortExtraProperties:
+    derived_from: tosca.datatypes.Root
+    description: Nova server network expand properties for port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the port
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: The administrative state of this port
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this port
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.novaServer.network.AddressInfo:
+    derived_from: tosca.datatypes.network.NetworkInfo
+    description: Network addresses with corresponding port id
+    properties:
+      port_id:
+        type: string
+        description: Port id
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.neutron.port.FixedIps:
+    derived_from: tosca.datatypes.Root
+    description: subnet/ip_address
+    properties:
+      subnet:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address desired in the subnet for this port
+        required: false
+        status: SUPPORTED
+      subnet_id:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.FileInfo:
+    derived_from: tosca.datatypes.Root
+    description: Heat File Info
+    properties:
+      file:
+        type: string
+        description: The required URI string (relative or absolute) which can be used to locate the file
+        required: true
+        status: SUPPORTED
+      file_type:
+        type: string
+        description: The type of the file
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - base
+          - env
+          - volume
+          - network
+  org.openecomp.datatypes.heat.contrail.network.rule.PortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source and destination port pairs
+    properties:
+      start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      apply_service:
+        type: string
+        description: Service to apply
+        required: false
+        status: SUPPORTED
+      dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.Rule
+  org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source and destination addresses
+    properties:
+      virtual_network:
+        type: string
+        description: Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule:
+    derived_from: tosca.datatypes.Root
+    description: Rules Pairs
+    properties:
+      remote_group_id:
+        type: string
+        description: The remote group ID to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      protocol:
+        type: string
+        description: The protocol that is matched by the security group rule
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - tcp
+          - udp
+          - icmp
+      ethertype:
+        type: string
+        description: Ethertype of the traffic
+        required: false
+        default: IPv4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - IPv4
+          - IPv6
+      port_range_max:
+        type: integer
+        description: 'The maximum port number in the range that is matched by the
+          security group rule. '
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+      remote_ip_prefix:
+        type: string
+        description: The remote IP prefix (CIDR) to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      remote_mode:
+        type: string
+        description: Whether to specify a remote group or a remote IP prefix
+        required: false
+        default: remote_ip_prefix
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - remote_ip_prefix
+          - remote_group_id
+      direction:
+        type: string
+        description: The direction in which the security group rule is applied
+        required: false
+        default: ingress
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - egress
+          - ingress
+      port_range_min:
+        type: integer
+        description: The minimum port number in the range that is matched by the security group rule.
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+  org.openecomp.datatypes.heat.substitution.SubstitutionFiltering:
+    derived_from: tosca.datatypes.Root
+    description: Substitution Filter
+    properties:
+      substitute_service_template:
+        type: string
+        description: Substitute Service Template
+        required: true
+        status: SUPPORTED
+      index_value:
+        type: integer
+        description: Index value of the substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      count:
+        type: string
+        description: Count
+        required: false
+        default: 1
+        status: SUPPORTED
+      scaling_enabled:
+        type: boolean
+        description: Indicates whether service scaling is enabled
+        required: false
+        default: true
+        status: SUPPORTED
+      mandatory:
+        type: boolean
+        description: Mandatory
+        required: false
+        default: true
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data sequence
+    properties:
+      network_policy_refs_data_sequence_major:
+        type: integer
+        description: Network Policy ref data sequence Major
+        required: false
+        status: SUPPORTED
+      network_policy_refs_data_sequence_minor:
+        type: integer
+        description: Network Policy ref data sequence Minor
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data
+    properties:
+      network_policy_refs_data_sequence:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence
+        description: Network Policy ref data sequence
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix len
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet List
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_addr_from_start:
+        type: string
+        description: Network ipam refs data ipam subnets addr from start
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data
+    properties:
+      network_ipam_refs_data_ipam_subnets:
+        type: list
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source addresses
+    properties:
+      network_policy_entries_policy_rule_src_addresses_virtual_network:
+        type: string
+        description: Source addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: destination addresses
+    properties:
+      network_policy_entries_policy_rule_dst_addresses_virtual_network:
+        type: string
+        description: Destination addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: destination port pairs
+    properties:
+      network_policy_entries_policy_rule_dst_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_dst_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source port pairs
+    properties:
+      network_policy_entries_policy_rule_src_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList:
+    derived_from: tosca.datatypes.Root
+    description: Action List
+    properties:
+      network_policy_entries_policy_rule_action_list_simple_action:
+        type: string
+        description: Simple Action
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_action_list_apply_service:
+        type: list
+        description: Apply Service
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      network_policy_entries_policy_rule_dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork
+      network_policy_entries_policy_rule_dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs
+      network_policy_entries_policy_rule_protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork
+      network_policy_entries_policy_rule_direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs
+      network_policy_entries_policy_rule_action_list:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList
+        description: Action list
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      network_policy_entries_policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.Rule
+  org.openecomp.datatypes.heat.network.contrail.port.StaticRoute:
+    derived_from: tosca.datatypes.Root
+    description: static route
+    properties:
+      prefix:
+        type: string
+        description: Route prefix
+        required: false
+        status: SUPPORTED
+      next_hop:
+        type: string
+        description: Next hop
+        required: false
+        status: SUPPORTED
+      next_hop_type:
+        type: string
+        description: Next hop type
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Address Pair
+    properties:
+      address_mode:
+        type: string
+        description: Address mode active-active or active-standy
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - active-active
+          - active-standby
+      prefix:
+        type: string
+        description: IP address prefix
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: Mac address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.InterfaceData:
+    derived_from: tosca.datatypes.Root
+    description: Interface Data
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Interface Properties.
+    properties:
+      virtual_machine_interface_properties_service_interface_type:
+        type: string
+        description: Service Interface Type.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.Root:
+    derived_from: tosca.datatypes.Root
+    description: |
+      The ECOMP root Data Type all other Data Types derive from
+    properties:
+      supplemental_data:
+        type: map
+        entry_schema:
+          description: |
+            A placeholder for missing properties that would be included in future ecomp model versions. fromat <key>:<value>
+          type: string
+  org.openecomp.datatypes.AssignmentRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_required:
+        description: |
+          "true" indicates that assignment is required
+        type: boolean
+        default: false
+        required: true
+      count:
+        description: number of assignments required
+        type: integer
+        required: false
+  org.openecomp.datatypes.network.SubnetAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_network_address_plan:
+        type: string
+        required: false
+        description: Reference to EIPAM, VLAN or other address plan ID used to assign subnets to this network
+      dhcp_enabled:
+        type: boolean
+        required: false
+        description: \"true\" indicates the network has 1 or more policies
+      ip_version:
+        type: integer
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+        required: true
+        description: The IP version of the subnet
+      cidr_mask:
+        type: integer
+        required: true
+        description: The default subnet CIDR mask
+      min_subnets_count:
+        type: integer
+        default: 1
+        required: true
+        description: Quantity of subnets that must be initially assigned
+  org.openecomp.datatypes.network.IPv4SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv4:
+        type: boolean
+        required: true
+        description: Indicates IPv4 subnet assignments
+  org.openecomp.datatypes.network.IPv6SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv6:
+        type: boolean
+        required: true
+        description: Indicates IPv6 subnet assignments
+  org.openecomp.datatypes.network.NetworkAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_network_assignment:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the network assignments will be auto-generated by ECOMP \"false\" indicates operator-supplied Network assignments file upload is required (e.g. VID will present prompt to operator to upload operator-supplied Network assignments file).
+      is_shared_network:
+        type: boolean
+        required: true
+        description: \"true\" means this network is shared by multiple Openstack tenants
+      is_external_network:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" means this Contrail external network
+      ipv4_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv4SubnetAssignments
+        required: true
+        description: IPv4 defualt subnet assignments
+      ipv6_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv6SubnetAssignments
+        required: true
+        description: IPv6 defualt subnet assignments
+      related_networks:
+        type: list
+        required: false
+        description: Related Networks List.
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+      is_trunked:
+        type: boolean
+        required: true
+        description: \"true\" indicates that network is trunked
+        default: false
+  org.openecomp.datatypes.network.ProviderNetwork:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_provider_network:
+        type: boolean
+        required: true
+        description: \"true\" indicates that this a Neutron provider type of network
+      physical_network_name:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Physnet41
+          - Physnet42
+          - Physnet43
+          - Physnet44
+          - Physnet21
+          - Physnet22
+          - sriovnet1
+          - sriovnet2
+          - oam
+        description: |
+          Identifies the NUMA processor cluster to which this physical network interface belongs. NUMA instance correlates to the first digit of the Physical Network Name suffix (e.g. \"01\" = NUMA 0, \"11\" = NUMA 1)
+      numa:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - NUMA 0
+          - NUMA 1
+        description: |
+          PNIC instance within the NUMA processor cluster PNIC Instance correlates to the second digit of the Physical Network Name suffix (e.g. "01" = PNIC 1, "02" = "PNIC 2)
+      pnic_instance:
+        type: integer
+        required: false
+        description: PNIC instance within the NUMA processor cluster
+  org.openecomp.datatypes.network.NetworkFlows:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_network_policy:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more policies
+      network_policy:
+        type: string
+        required: false
+        description: 'Identifies the specific Cloud network policy that must be applied
+          to this network (source: from Policy Manager).'
+      is_bound_to_vpn:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more vpn bindings
+      vpn_binding:
+        type: string
+        required: false
+        description: 'Identifies the specific VPN Binding entry in A&AI that must
+          be applied when creating this network (source: A&AI)'
+  org.openecomp.datatypes.network.VlanRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      vlan_range_plan:
+        type: string
+        required: true
+        description: reference to a vlan range plan
+      vlan_type:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - c-tag
+          - s-tag
+        description: identifies the vlan type (e.g., c-tag)
+      vlan_count:
+        type: integer
+        required: true
+        description: identifies the number of vlan tags to assign to the CP from the plan
+  org.openecomp.datatypes.network.IpRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: true
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      ip_count:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: integer
+        required: false
+      floating_ip_count:
+        type: integer
+        required: false
+      subnet_role:
+        type: string
+        required: false
+      assingment_method:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - fixed
+          - dhcp
+      dhcp_enabled:
+        type: boolean
+        required: false
+      ip_count_required:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      floating_ip_count_required:
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      ip_address_plan_name:
+        type: string
+        required: false
+      vrf_name:
+        type: string
+        required: false
+  org.openecomp.datatypes.network.MacAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        type: string
+        required: true
+        description: reference to a MAC address range plan
+      mac_count:
+        type: integer
+        required: true
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+  org.openecomp.datatypes.EcompHoming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_selected_instance_node_target:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the target deployment node for this instance will be auto-selected by ECOMP \"false\" indicates operator-supplied instance target deployment node required (e.g. VID will present a prompt to operator and collect the operator-selected target node for the deployment of this Network instance).
+      homing_policy:
+        type: string
+        required: false
+        description: Referenc to a service level homing policy that ECOMP will use for instance deployment target node
+      instance_node_target:
+        type: string
+        required: false
+        description: Instance target deployment node
+  org.openecomp.datatypes.EcompNaming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        type: boolean
+        required: true
+        default: true
+        description: |
+          \"true\" indicates that the name for the instance will be auto-generated by ECOMP. \"false\" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+      naming_policy:
+        type: string
+        required: false
+        description: Referenc to naming policy that ECOMP will use when the name is auto-generated
+  org.openecomp.datatypes.network.MacRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        description: reference to a MAC address range plan
+        type: string
+        required: false
+      mac_count:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: integer
+        required: false
+      mac_count_required:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair IP.
+    properties:
+      ip_prefix:
+        type: string
+        description: IP Prefix.
+        required: false
+        status: SUPPORTED
+      ip_prefix_len:
+        type: integer
+        description: IP Prefix Len.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Mac Address.
+    properties:
+      mac_address:
+        type: list
+        description: Mac Addresses List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface VLAN Properties.
+    properties:
+      sub_interface_vlan_tag:
+        type: string
+        description: Sub Interface VLAN Tag.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair.
+    properties:
+      address_mode:
+        type: string
+        description: Address Mode.
+        required: false
+        status: SUPPORTED
+      ip:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp
+        description: IP.
+        required: false
+        status: SUPPORTED
+      mac:
+        type: string
+        description: Mac.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pairs.
+    properties:
+      allowed_address_pair:
+        type: list
+        description: Addresses pair List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair
+  org.openecomp.datatypes.Naming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        description: |
+          "true" indicates that the name for the instance will be auto-generated by ECOMP. "false" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: boolean
+        default: true
+        required: true
+      naming_policy:
+        description: Reference to naming policy that ECOMP will use when the name is auto-generated
+        type: string
+        required: false
+      instance_name:
+        description: indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: string
+        required: false
+  org.openecomp.datatypes.flavors.ComputeFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      num_cpus:
+        type: integer
+      disk_size:
+        type: scalar-unit.size
+      mem_size:
+        type: scalar-unit.size
+  org.openecomp.datatypes.flavors.LicenseFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      feature_group_uuid:
+        type: string
+  org.openecomp.datatypes.flavors.VendorInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      manufacturer_reference_number:
+        type: string
+      vendor_model:
+        type: string
+  org.openecomp.datatypes.flavors.DeploymentFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      sp_part_number:
+        type: string
+      vendor_info:
+        type: org.openecomp.datatypes.flavors.VendorInfo
+      compute_flavor:
+        type: org.openecomp.datatypes.flavors.ComputeFlavor
+      license_flavor:
+        type: org.openecomp.datatypes.flavors.LicenseFlavor
+        required: false
+  org.openecomp.datatypes.ImageInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      software_version:
+        type: string
+      file_name:
+        type: string
+      file_hash:
+        type: string
+        description: checksum/signature
+      file_hash_type:
+        type: string
+        required: false
+        default: md5
+  org.openecomp.datatypes.network.RelatedNetworksAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      related_network_role:
+        type: string
+        description: The network role of the related network, sharing provider network.
+        required: false
+  tosca.datatypes.nfv.VnfcConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      additional_vnfc_configurable_properties:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.RequestedAdditionalCapability:
+    derived_from: tosca.datatypes.Root
+    properties:
+      support_mandatory:
+        type: boolean
+        required: true
+      min_requested_additional_capability_version:
+        type: string
+        required: false
+      preferred_requested_additional_capability_version:
+        type: string
+        required: false
+      requested_additional_capability_name:
+        type: string
+        required: true
+      target_performance_parameters:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+  tosca.datatypes.nfv.VirtualMemory:
+    derived_from: tosca.datatypes.Root
+    properties:
+      virtual_mem_size:
+        type: scalar-unit.size
+        required: true
+      virtual_mem_oversubscription_policy:
+        type: string
+        required: false
+      vdu_memory_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      numa_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VirtualCpuPinning:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_pinning_policy:
+        type: string
+        constraints:
+        - valid_values:
+          - static
+          - dynamic
+        required: false
+      cpu_pinning_map:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualCpu:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_architecture:
+        type: string
+        required: false
+      num_virtual_cpu:
+        type: integer
+        required: true
+      virtual_cpu_clock:
+        type: scalar-unit.frequency
+        required: false
+      virtual_cpu_oversubscription_policy:
+        type: string
+        required: false
+      vdu_cpu_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      virtual_cpu_pinning:
+        type: tosca.datatypes.nfv.VirtualCpuPinning
+        required: false
+  tosca.datatypes.nfv.LogicalNodeData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      logical_node_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      support_mandatory:
+        type: boolean
+        required: true
+      requirement:
+        type: string
+        required: false
+      network_interface_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+      nic_io_requirements:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+  tosca.datatypes.nfv.injectFile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      source_path:
+        type: string
+        required: true
+      dest_path:
+        type: string
+        required: true
+  tosca.datatypes.nfv.L2AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      mac_address_assignment:
+        type: boolean
+        required: true
+      address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.L3AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      ip_address_assignment:
+        type: boolean
+        required: true
+      floating_ip_activated:
+        type: boolean
+        required: true
+      ip_address_type:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - ipv4
+          - ipv6
+      number_of_ip_address:
+        type: integer
+        required: false
+      fixed_ip_address:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.AddressData:
+    properties:
+      address_type:
+        constraints:
+        - valid_values:
+          - mac_address
+          - ip_address
+        type: string
+        required: true
+      l2_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L2AddressData
+      l3_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L3AddressData
+  tosca.datatypes.nfv.ConnectivityType:
+    derived_from: tosca.datatypes.Root
+    properties:
+      layer_protocol:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo_wire
+      flow_pattern:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Line
+          - Tree
+          - Mesh
+  tosca.datatypes.nfv.VlFlavour:
+    derived_from: tosca.datatypes.Root
+    properties:
+      flavourId:
+        type: string
+  tosca.datatypes.nfv.ext.AddressPairs:
+    properties:
+      ip:
+        type: string
+        required: false
+      mac:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.FloatingIP:
+    properties:
+      external_network:
+        type: string
+        required: false
+      ip_address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocationInfo:
+    properties:
+      availability_zone:
+        type: string
+        required: false
+      vimid:
+        type: integer
+        required: false
+      tenant:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.HostRouteInfo:
+    properties:
+      destination:
+        type: string
+        required: false
+      nexthop:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.InjectData:
+    properties:
+      file_name:
+        type: string
+        required: false
+      file_data:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.zte.WatchDog:
+    properties:
+      enable_delay:
+        type: integer
+        required: false
+      action:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule:
+    properties:
+      scope:
+        type: string
+        required: false
+      affinity_antiaffinity:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VduProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_number_of_instances:
+        type: integer
+        required: true
+      max_number_of_instances:
+        type: integer
+        required: true
+      watchdog:
+        type: string
+        required: true
+      vmBootUpTimeOut:
+        type: integer
+        required: false
+  tosca.datatypes.nfv.LinkBitRateRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      root:
+        type: integer
+        required: true
+      leaf:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.Qos:
+    derived_from: tosca.datatypes.Root
+    properties:
+      latency:
+        type: integer
+        required: true
+      packet_delay_variation:
+        type: integer
+        required: true
+      packet_loss_ratio:
+        type: float
+        constraints:
+        - in_range:
+          - 0.0
+          - 1.0
+        required: false
+  tosca.datatypes.nfv.VlProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      max_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      min_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      qos:
+        type: tosca.datatypes.nfv.Qos
+        required: false
+      initiationParameters:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      cidr:
+        type: string
+        required: false
+      networkName:
+        type: string
+        required: false
+      startIp:
+        type: string
+        required: false
+      endIp:
+        type: string
+        required: false
+      gatewayIp:
+        type: string
+        required: false
+      segmentationId:
+        type: integer
+        required: false
+      physicalNetwork:
+        type: string
+        required: false
+      networkType:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - VLAN
+          - VXLAN
+      dhcpEnabled:
+        type: boolean
+        required: false
+      vlanTransparent:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VduLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      number_of_instances:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaleLevel:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleAspect:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      associated_group:
+        type: string
+        required: false
+      max_scale_level:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.InstantiationLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: true
+      vdu_levels:
+        type: map
+        required: true
+        entry_schema:
+          type: tosca.datatypes.nfv.VduLevel
+      scale_info:
+        type: map
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ScaleInfo
+  tosca.datatypes.nfv.VnfScaleOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaling_by_more_than_one_step_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      arbitrary_target_levels_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfHealOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      causes:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfOperateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scale:
+        type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
+      scale_to_level:
+        type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
+      heal:
+        type: tosca.datatypes.nfv.VnfHealOperationConfiguration
+      terminate:
+        type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
+      operate:
+        type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
+  tosca.datatypes.nfv.CpProtocolData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      asscociated_layer_protocol:
+        type: string
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo-wire
+        required: true
+      address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.datatypes.nfv.VnfConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      is_autoscale_enabled:
+        type: boolean
+        required: false
+      is_autoheal_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributes:
+    derived_from: tosca.datatypes.Root
+    properties:
+      extensions:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
+        required: false
+      metadata:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
+        required: false
diff --git a/s3p/templates/numberOfPages/Definitions/groups.yml b/s3p/templates/numberOfPages/Definitions/groups.yml
new file mode 100644
index 0000000..f8be60d
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/groups.yml
@@ -0,0 +1,133 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+group_types:
+  tosca.groups.Root:
+    description: The TOSCA Group Type all other TOSCA Group Types derive from
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  org.openecomp.groups.heat.HeatStack:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same heat stack
+    properties:
+      heat_file:
+        type: string
+        description: Heat file which associate to this group/heat stack
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: group description
+        required: true
+        status: SUPPORTED
+  org.openecomp.groups.VfModule:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same VF Module
+    properties:
+      isBase:
+        type: boolean
+        description: Whether this module should be deployed before other modules
+        required: true
+        default: false
+        status: SUPPORTED
+      vf_module_label:
+        type: string
+        required: true
+        description: |
+          Alternate textual key used to reference this VF-Module model.  Must be unique within the VNF model
+      vf_module_description:
+        type: string
+        required: true
+        description: |
+          Description of the VF-modules contents and purpose   (e.g. "Front-End" or "Database Cluster")
+      min_vf_module_instances:
+        type: integer
+        required: true
+        description: The minimum instances of this VF-Module
+      max_vf_module_instances:
+        type: integer
+        required: false
+        description: The maximum instances of this VF-Module
+      initial_count:
+        type: integer
+        required: false
+        description: |
+          The initial count of instances of the VF-Module. The value must be in the  range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances.
+      vf_module_type:
+        type: string
+        required: true
+        constraint:
+        - valid_values:
+          - Base
+          - Expansion
+      volume_group:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          "true" indicates that this VF Module model requires attachment to a Volume   Group.  VID operator must select the Volume Group instance to attach to a VF-Module  at deployment time.
+      availability_zone_count:
+        type: integer
+        required: false
+        description: |
+          Quantity of Availability Zones needed for this VF-Module     (source: Extracted from VF-Module HEAT template)
+      vfc_list:
+        type: map
+        entry_schema:
+          description: <vfc_id>:<count>
+          type: string
+        required: false
+        description: |
+          Identifies the set of VM types and their count included in the VF-Module
+  org.openecomp.groups.NetworkCollection:
+    derived_from: tosca.groups.Root
+    description: groups l3-networks in network collection
+    properties:
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function
+      network_collection_description:
+        type: string
+        required: true
+        description: network collection description, free format text
+  org.openecomp.groups.VfcInstanceGroup:
+    derived_from: tosca.groups.Root
+    description: groups VFCs with same parent port role
+    properties:
+      vfc_instance_group_function:
+        type: string
+        required: true
+        description: function of this VFC group
+      vfc_parent_port_role:
+        type: string
+        required: true
+        description: common role of parent ports of VFCs in this group
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function assigned to this group
+      subinterface_role:
+        type: string
+        required: true
+        description: common role of subinterfaces of VFCs in this group, criteria the group is created
+    capabilities:
+      vlan_assignment:
+        type: org.openecomp.capabilities.VLANAssignment
+        properties:
+          vfc_instance_group_reference:
+            type: string
diff --git a/s3p/templates/numberOfPages/Definitions/interfaces.yml b/s3p/templates/numberOfPages/Definitions/interfaces.yml
new file mode 100644
index 0000000..a11c716
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/interfaces.yml
@@ -0,0 +1,83 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+interface_types:
+  tosca.interfaces.nfv.vnf.lifecycle.Nfv:
+    instantiate:
+      description: Invoked upon receipt of an Instantiate VNF request
+    instantiate_start:
+      description: Invoked before instantiate
+    instantiate_end:
+      description: Invoked after instantiate
+    terminate:
+      description: Invoked upon receipt Terminate VNF request
+    terminate_start:
+      description: Invoked before terminate
+    terminate_end:
+      description: Invoked after terminate
+    modify_information:
+      description: Invoked upon receipt of a Modify VNF Information request
+    modify_information_start:
+      description: Invoked before modify_information
+    modify_information_end:
+      description: Invoked after modify_information
+    change_flavour:
+      description: Invoked upon receipt of a Change VNF Flavour request
+    change_flavour_start:
+      description: Invoked before change_flavour
+    change_flavour_end:
+      description: Invoked after change_flavour
+    change_external_connectivity:
+      description: Invoked upon receipt of a Change External VNF Connectivity request
+    change_external_connectivity_start:
+      description: Invoked before change_external_connectivity
+    change_external_connectivity_end:
+      description: Invoked after change_external_connectivity
+    operate:
+      description: Invoked upon receipt of an Operate VNF request
+    operate_start:
+      description: Invoked before operate
+    operate_end:
+      description: Invoked after operate
+    heal:
+      description: Invoked upon receipt of a Heal VNF request
+    heal_start:
+      description: Invoked before heal
+    heal_end:
+      description: Invoked after heal
+    scale:
+      description: Invoked upon receipt of a Scale VNF request
+    scale_start:
+      description: Invoked before scale
+    scale_end:
+      description: Invoked after scale
+    scale_to_level:
+      description: Invoked upon receipt of a Scale VNF to Level request
+    scale_to_level_start:
+      description: Invoked before scale_to_level
+    scale_to_level_end:
+      description: Invoked after scale_to_level
+  tosca.interfaces.node.lifecycle.Standard:
+    create:
+      description: Standard lifecycle create operation.
+    configure:
+      description: Standard lifecycle configure operation.
+    start:
+      description: Standard lifecycle start operation.
+    stop:
+      description: Standard lifecycle stop operation.
+    delete:
+      description: Standard lifecycle delete operation.
diff --git a/s3p/templates/numberOfPages/Definitions/nodes.yml b/s3p/templates/numberOfPages/Definitions/nodes.yml
new file mode 100644
index 0000000..62d77f4
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/nodes.yml
@@ -0,0 +1,4781 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+- artifacts.yml
+- capabilities.yml
+- interfaces.yml
+- relationships.yml
+node_types:
+  tosca.nodes.BlockStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 1 MB
+      volume_id:
+        type: string
+        required: false
+      snapshot_id:
+        type: string
+        required: false
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+  tosca.nodes.WebApplication:
+    derived_from: tosca.nodes.Root
+    properties:
+      context_root:
+        type: string
+    capabilities:
+      app_endpoint:
+        type: tosca.capabilities.Endpoint
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.WebServer
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.Database:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: the logical name of the database
+      port:
+        type: integer
+        description: the port the underlying database service will listen to for data
+      user:
+        type: string
+        description: the optional user account name for DB administration
+        required: false
+      password:
+        type: string
+        description: the optional password for the DB user account
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.DBMS
+        relationship: tosca.relationships.HostedOn
+    capabilities:
+      database_endpoint:
+        type: tosca.capabilities.Endpoint.Database
+  tosca.nodes.Container.Runtime:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+      scalable:
+        type: tosca.capabilities.Scalable
+  tosca.nodes.network.Port:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: true
+        default: 0
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        type: boolean
+        required: false
+        default: false
+      ip_range_start:
+        type: string
+        required: false
+      ip_range_end:
+        type: string
+        required: false
+    requirements:
+    - link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  tosca.nodes.Root:
+    description: The TOSCA Node Type all other TOSCA base Node Types derive from
+    attributes:
+      tosca_id:
+        type: string
+      tosca_name:
+        type: string
+      state:
+        type: string
+    capabilities:
+      feature:
+        type: tosca.capabilities.Node
+    requirements:
+    - dependency:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  tosca.nodes.network.Network:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: false
+        default: 4
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      cidr:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      network_id:
+        type: string
+        required: false
+      segmentation_id:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+        default: true
+    capabilities:
+      link:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.Compute:
+    derived_from: tosca.nodes.Root
+    attributes:
+      private_address:
+        type: string
+      public_address:
+        type: string
+      networks:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.NetworkInfo
+      ports:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.PortInfo
+    requirements:
+    - local_storage:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+      endpoint:
+        type: tosca.capabilities.Endpoint.Admin
+      os:
+        type: tosca.capabilities.OperatingSystem
+      scalable:
+        type: tosca.capabilities.Scalable
+      binding:
+        type: tosca.capabilities.network.Bindable
+  tosca.nodes.LoadBalancer:
+    derived_from: tosca.nodes.Root
+    properties:
+      algorithm:
+        type: string
+        required: false
+        status: experimental
+    capabilities:
+      client:
+        type: tosca.capabilities.Endpoint.Public
+        occurrences:
+        - 0
+        - UNBOUNDED
+        description: the Floating (IP) client’s on the public network can connect to
+    requirements:
+    - application:
+        capability: tosca.capabilities.Endpoint
+        relationship: tosca.relationships.RoutesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.DBMS:
+    derived_from: tosca.nodes.SoftwareComponent
+    properties:
+      root_password:
+        type: string
+        required: false
+        description: the optional root password for the DBMS service
+      port:
+        type: integer
+        required: false
+        description: the port the DBMS service will listen to for data and requests
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.Database
+  tosca.nodes.WebServer:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      data_endpoint: tosca.capabilities.Endpoint
+      admin_endpoint: tosca.capabilities.Endpoint.Admin
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.WebApplication
+  tosca.nodes.Container.Application:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Container
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.SoftwareComponent:
+    derived_from: tosca.nodes.Root
+    properties:
+      component_version:
+        type: version
+        required: false
+      admin_credential:
+        type: tosca.datatypes.Credential
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.ObjectStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+      maxsize:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+    capabilities:
+      storage_endpoint:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ServiceProxy:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrailV2.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+      network_policy_entries:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      shared:
+        type: string
+        description: Is virtual network shared
+        required: false
+        status: SUPPORTED
+      forwarding_mode:
+        type: string
+        description: forwarding mode of the virtual network
+        required: false
+        status: SUPPORTED
+      external:
+        type: string
+        description: Is virtual network external
+        required: false
+        status: SUPPORTED
+      allow_transit:
+        type: string
+        description: Whether this network should be transitive.
+        required: false
+        status: SUPPORTED
+      flood_unknown_unicast:
+        type: string
+        description: flood L2 packets on network
+        required: false
+        status: SUPPORTED
+      route_targets:
+        type: list
+        description: route targets associated with the virtual network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extContrailCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.service:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.v2.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.vfc.nodes.volume:
+    derived_from: tosca.nodes.BlockStorage
+  org.openecomp.nodes.VLANNetworkReceptor:
+    derived_from: tosca.nodes.Root
+    capabilities:
+      routing_configuration_internal:
+        type: org.openecomp.capabilities.RoutingConfiguration
+    requirements:
+    - vlan_assignment:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.VLANAssignment
+        relationship: org.openecomp.relationships.AssignsTo
+  org.openecomp.resource.vl.nodes.heat.network.neutron.Net:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      dhcp_agent_ids:
+        type: list
+        description: The IDs of the DHCP agent to schedule the network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      tenant_id:
+        type: string
+        description: The ID of the tenant which will own the network
+        required: false
+        status: SUPPORTED
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      shared:
+        type: boolean
+        description: Whether this network should be shared across all tenants
+        required: false
+        default: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      mtu:
+        type: scalar-unit.size
+        description: The maximum transmission unit size(in bytes) for the network
+        status: SUPPORTED
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.nova.Server:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      admin_pass:
+        type: string
+        description: The administrator password for the server
+        required: false
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      image:
+        type: string
+        description: The ID or name of the image to boot with
+        required: false
+        status: SUPPORTED
+      image_update_policy:
+        type: string
+        description: Policy on how to apply an image-id update
+        required: false
+        default: REBUILD
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REBUILD_PRESERVE_EPHEMERAL
+          - REPLACE
+          - REBUILD
+      metadata:
+        type: json
+        description: Arbitrary JSON metadata to store for this server
+        required: false
+        status: SUPPORTED
+      contrail_service_instance_ind:
+        type: boolean
+        description: Nova server related to service instance indicator
+        required: false
+        default: false
+        status: SUPPORTED
+      user_data_update_policy:
+        type: string
+        description: Policy on how to apply a user_data update
+        required: false
+        default: REPLACE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE
+          - IGNORE
+      flavor_update_policy:
+        type: string
+        description: Policy on how to apply a flavor update
+        required: false
+        default: RESIZE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - RESIZE
+          - REPLACE
+      user_data:
+        type: string
+        description: User data script to be executed by cloud-init
+        required: false
+        default: ''
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: The ID or name of the flavor to boot onto
+        required: true
+        status: SUPPORTED
+      key_name:
+        type: string
+        description: Name of keypair to inject into the server
+        required: false
+        status: SUPPORTED
+      reservation_id:
+        type: string
+        description: A UUID for the set of servers being requested
+        required: false
+        status: SUPPORTED
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      config_drive:
+        type: boolean
+        description: enable config drive on the server
+        required: false
+        status: SUPPORTED
+      personality:
+        type: map
+        description: A map of files to create/overwrite on the server upon boot
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      software_config_transport:
+        type: string
+        description: How the server should receive the metadata required for software configuration
+        required: false
+        default: POLL_SERVER_CFN
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - POLL_SERVER_CFN
+          - POLL_SERVER_HEAT
+          - POLL_TEMP_URL
+          - ZAQAR_MESSAGE
+      user_data_format:
+        type: string
+        description: How the user_data should be formatted for the server
+        required: false
+        default: HEAT_CFNTOOLS
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - SOFTWARE_CONFIG
+          - RAW
+          - HEAT_CFNTOOLS
+      diskConfig:
+        type: string
+        description: Control how the disk is partitioned when the server is created
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - AUTO
+          - MANUAL
+      name:
+        type: string
+        description: Server name
+        required: false
+        status: SUPPORTED
+      scheduler_hints:
+        type: map
+        description: Arbitrary key-value pairs specified by the client to help boot a server
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      accessIPv4:
+        type: string
+        description: The manually assigned alternative public IPv4 address of the server
+        status: SUPPORTED
+      addresses:
+        type: map
+        description: A dict of all network addresses with corresponding port_id
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo
+      accessIPv6:
+        type: string
+        description: The manually assigned alternative public IPv6 address of the server
+        status: SUPPORTED
+      instance_name:
+        type: string
+        description: AWS compatible instance name
+        status: SUPPORTED
+      name:
+        type: string
+        description: Name of the server
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      console_urls:
+        type: string
+        description: URLs of servers consoles
+        status: SUPPORTED
+  org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      description:
+        type: string
+        description: Description of the security group
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this security group, which is not required to be unique.
+        required: false
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of security group rules
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule
+    attributes:
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+    requirements:
+    - port:
+        capability: tosca.capabilities.Attachment
+        node: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.cinder.Volume:
+    derived_from: org.openecomp.resource.vfc.nodes.volume
+    properties:
+      availability_zone:
+        description: The availability zone in which the volume will be created
+        type: string
+        status: SUPPORTED
+        required: false
+      image:
+        description: If specified, the name or ID of the image to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      metadata:
+        description: Key/value pairs to associate with the volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      volume_type:
+        description: If specified, the type of volume to use, mapping to a specific backend
+        type: string
+        status: SUPPORTED
+        required: false
+      description:
+        description: A description of the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      device_type:
+        description: Device type
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - cdrom
+          - disk
+      disk_bus:
+        description: 'Bus of the device: hypervisor driver chooses a suitable default
+          if omitted'
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - ide
+          - lame_bus
+          - scsi
+          - usb
+          - virtio
+      backup_id:
+        description: If specified, the backup to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      source_volid:
+        description: If specified, the volume to use as source
+        type: string
+        status: SUPPORTED
+        required: false
+      boot_index:
+        description: Integer used for ordering the boot disks
+        type: integer
+        status: SUPPORTED
+        required: false
+      size:
+        description: The requested storage size (default unit is MB)
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+        constraints:
+        - greater_or_equal: 1 GB
+      read_only:
+        description: Enables or disables read-only access mode of volume
+        type: boolean
+        status: SUPPORTED
+        required: false
+      name:
+        description: A name used to distinguish the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      scheduler_hints:
+        description: Arbitrary key-value pairs specified by the client to help the Cinder scheduler creating a volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      swap_size:
+        description: The size of the swap, in MB
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+      delete_on_termination:
+        description: Indicate whether the volume should be deleted when the server is terminated
+        type: boolean
+        status: SUPPORTED
+        required: false
+      multiattach:
+        description: Whether allow the volume to be attached more than once
+        type: boolean
+        status: SUPPORTED
+        required: false
+    attributes:
+      display_description:
+        description: Description of the volume
+        type: string
+        status: SUPPORTED
+      attachments:
+        description: The list of attachments of the volume
+        type: string
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      encrypted:
+        description: Boolean indicating if the volume is encrypted or not
+        type: boolean
+        status: SUPPORTED
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+      created_at:
+        description: The timestamp indicating volume creation
+        type: timestamp
+        status: SUPPORTED
+      display_name:
+        description: Name of the volume
+        type: string
+        status: SUPPORTED
+      metadata_values:
+        description: Key/value pairs associated with the volume in raw dict form
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      bootable:
+        description: Boolean indicating if the volume can be booted or not
+        type: boolean
+        status: SUPPORTED
+      status:
+        description: The current status of the volume
+        type: string
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.CR:
+    derived_from: tosca.nodes.Root
+    properties:
+      cr_function:
+        type: string
+      cr_role:
+        type: string
+      cr_type:
+        type: string
+  org.openecomp.resource.vl.extVL:
+    derived_from: tosca.nodes.Root
+    description: VF Tenant oam protected network
+    properties:
+      network_type:
+        type: string
+        required: true
+        description: ECOMP supported network types.
+      network_role:
+        type: string
+        required: true
+        description: |
+          Unique label that defines the role that this network performs.   example: vce oam network, vnat sr-iov1 network
+      network_scope:
+        type: string
+        constraints:
+          valid_values:
+          - VF
+          - SERVICE
+          - GLOBAL
+        description: |
+          Uniquely identifies the network scope. Valid values for the network scope   includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects  the VFs within the service GLOBAL - Global network which can be shared by multiple services
+      network_technology:
+        type: string
+        required: true
+        description: ECOMP supported network technology
+      exVL_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+        required: true
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+        required: true
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+        required: true
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.abstract.nodes.PNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_type:
+        type: string
+      software_versions:
+        type: list
+        entry_schema:
+          type: string
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      entries:
+        type: org.openecomp.datatypes.heat.contrail.network.rule.RuleList
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: tenant_id
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of rules
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.nodes.PortMirroringConfiguration:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+    - collector:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.nodes.VRFObject:
+    derived_from: tosca.nodes.Root
+    description: provides capability to connect WAN Transport Service Proxy to VRF Entry
+    capabilities:
+      routing_configuration_external:
+        type: org.openecomp.capabilities.RoutingConfiguration
+  org.openecomp.resource.abstract.nodes.VFC:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      nfc_function:
+        type: string
+      high_availablity:
+        type: string
+        description: high_availablity
+        required: false
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      nfc_naming_code:
+        type: string
+        description: nfc code for instance naming
+        required: false
+        status: SUPPORTED
+      vm_type_tag:
+        type: string
+        description: vm type based on naming Convention
+        required: false
+        status: SUPPORTED
+      nfc_naming:
+        type: org.openecomp.datatypes.Naming
+        description: vfc naming
+      min_instances:
+        type: integer
+        description: Minimum number of VFC Instances
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      max_instances:
+        type: integer
+        description: Maximum number of VFC Instances
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 1
+  org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.abstract.nodes.VnfConfiguration:
+    derived_from: tosca.nodes.Root
+    properties:
+      allowed_flavors:
+        description: a collection of all flavor valuesets available for a given VFC
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.flavors.DeploymentFlavor
+  org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      network_ipam_refs_data:
+        type: list
+        description: IPAM references Data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData
+      network_policy_refs_data:
+        type: list
+        description: Policy references data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData
+      network_ipam_refs:
+        type: list
+        description: IPAM references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      network_policy_refs:
+        type: list
+        description: Policy references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vl.internalVL:
+    derived_from: tosca.nodes.network.Network
+    description: The AT&T internal (VF-level) Virtual Link
+  org.openecomp.resource.vl.ELine:
+    derived_from: org.openecomp.resource.vl.VL
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 0
+        - 2
+  org.openecomp.resource.vl.VL:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.Configuration:
+    derived_from: tosca.nodes.Root
+    properties:
+      type:
+        type: string
+        description: The type of the node, the configuration will be defined for it. Ex. SBC
+        required: false
+      role:
+        type: string
+        description: The role of the node, the configuration will be defined for it. Ex. Active, Standby
+        required: false
+      function:
+        type: string
+        description: The function of the node, the configuration will be defined for it. Ex. NAT Traversal
+        required: false
+  org.openecomp.resource.cp.nodes.network.v2.SubInterface:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        description: Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to fulfill but may not be able to dependent on the network the port is associated with.
+        type: string
+        required: false
+      order:
+        description: 'The order of the NIC on the compute instance (e.g. eth2). Note:
+          when binding more than one port to a single compute (aka multi vNICs) and
+          ordering is desired, it is *mandatory* that all ports will be set with an
+          order value and. The order values must represent a positive, arithmetic
+          progression that starts with 0 (e.g. 0, 1, 2, ..., n).'
+        type: integer
+        default: 0
+        required: false
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        description: Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway. Only one port that is associated to single compute node can set as default=true.
+        type: boolean
+        default: false
+        required: false
+      ip_range_start:
+        description: Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+      ip_range_end:
+        description: Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+    attributes:
+      ip_address:
+        description: The IP address would be assigned to the associated compute instance.
+        type: string
+    requirements:
+    - subinterface_link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  org.openecomp.resource.cp.v2.extCP:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    description: The SDC External Connection Point base type
+    capabilities:
+      port_mirroring:
+        type: org.openecomp.capabilities.PortMirroring
+  org.openecomp.resource.vfc.nodes.Compute:
+    derived_from: tosca.nodes.Compute
+    capabilities:
+      disk.ephemeral.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.ephemeral.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of ephemeral disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: instance
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: instance
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Existence of instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu.delta
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used since previous datapoint
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Delta
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: '%'
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu_util
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average CPU utilization
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.root.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of root disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: vcpu
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: vcpus
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of virtual CPUs allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance from the amount of its allocated memory
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.resident
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance on the physical machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.MultiFlavorVFC:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      images:
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.ImageInfo
+        required: false
+  org.openecomp.nodes.PortMirroringConfigurationByPolicy:
+    derived_from: tosca.nodes.Root
+    properties:
+      collector_node:
+        type: string
+        description: The name of the Collector Proxy
+        required: true
+      policy_name:
+        type: string
+        description: The name of the policy for selection of the collector interfaces
+        required: true
+      equip_model:
+        type: string
+        description: The name of the equipment type of the collector, i.e. Cisco 4500x
+        required: true
+      equip_vendor:
+        type: string
+        description: The name of the equipment vendor of the collector, i.e. Cisco
+        required: true
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.VF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_naming_code:
+        type: string
+      nf_type:
+        type: string
+      nf_naming:
+        type: org.openecomp.datatypes.Naming
+        Default: true
+      availability_zone_max_count:
+        type: integer
+        default: 1
+        constraints:
+        - valid_values:
+          - 0
+          - 1
+          - 2
+      min_instances:
+        type: integer
+      max_instances:
+        type: integer
+      multi_stage_design:
+        type: boolean
+        default: false
+  org.openecomp.resource.vl.nodes.network.Network:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ForwardingPath:
+    derived_from: tosca.nodes.Root
+    properties:
+      target_range:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          description: Identifier of the reciever port of the VNF or the service
+          type: integer
+      protocol:
+        type: string
+        description: protocol type that runs on the link
+        required: true
+        status: SUPPORTED
+    requirements:
+    - forwarder:
+        capability: org.openecomp.capabilities.Forwarder
+        relationship: org.openecomp.relationships.ForwardsTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.nodes.heat.network.contrail.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.SubInterface:
+    derived_from: tosca.nodes.network.Port
+  org.openecomp.resource.vfc.nodes.heat.contrail.Compute:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the VM
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of active VMs
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: VMs of this compute
+        status: SUPPORTED
+      status:
+        type: string
+        description: status of the compute
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.Port:
+    derived_from: tosca.nodes.network.Port
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        description: Must correlate to the set of defined “network-role�? tag identifiers from the associated HEAT template
+        type: string
+        required: true
+      mac_requirements:
+        description: identifies MAC address assignments to the CP
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+      vlan_requirements:
+        description: identifies vlan address assignments to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+      ip_requirements:
+        description: identifies IP requirements to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+      subinterface_indicator:
+        description: identifies if Port is having Sub Interface
+        type: boolean
+        required: false
+        default: false
+      related_networks:
+        type: list
+        description: Related Networks List.
+        required: false
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+    capabilities:
+      network.incoming.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder:
+        type: org.openecomp.capabilities.Forwarder
+      network.outgoing.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outpoing.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.nodes.VRFEntry:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - routing_configuration_internal:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+    - routing_configuration_external:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+  org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.cp.extCP:
+    derived_from: tosca.nodes.Root
+    description: The SDC Connection Point base type all other CP derive from
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        type: string
+        required: true
+        description: Must correlate to the set of defined “network-role” tag identifiers from the associated HEAT template
+      mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+        description: identifies MAC address assignments to the CP
+      vlan_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+        description: identifies vlan address assignments to the CP
+      ip_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+        description: identifies IP requirements to the CP
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - virtualBinding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+    - external_virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        node: org.openecomp.resource.vl.VL
+    capabilities:
+      internal_connectionPoint:
+        type: tosca.capabilities.Node
+        valid_source_type:
+        - tosca.nodes.network.Port
+  org.openecomp.nodes.FabricConfiguration:
+    derived_from: org.openecomp.nodes.Configuration
+    requirements:
+    - fabric_configuration_monitoring:
+        capability: org.openecomp.capabilities.FabricConfiguration
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      static_routes_list:
+        type: list
+        description: Static routes enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      ordered_interfaces:
+        type: boolean
+        description: Indicates if service interface are ordered
+        required: false
+        default: false
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      service_interface_type_list:
+        type: list
+        description: List of interface types
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - management
+            - left
+            - right
+            - other
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      interface_list:
+        type: list
+        description: List of interfaces
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+      shared_ip_list:
+        type: list
+        description: Shared ips enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the Service Instance
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: The FQ name of the service instance
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service Template of the Service Instance
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of service VMs active for this Service Instance
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: The name of the service instance
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: Service VMs for the Service Instance
+        status: SUPPORTED
+      status:
+        type: string
+        description: Status of the service instance
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.AbstractSubstitute:
+    derived_from: tosca.nodes.Root
+    properties:
+      service_template_filter:
+        type: org.openecomp.datatypes.heat.substitution.SubstitutionFiltering
+        description: Substitution Filter
+        required: true
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.heat.network.neutron.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extNeutronCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+        required: true
+    capabilities:
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.Cp:
+    derived_from: tosca.nodes.Root
+    properties:
+      layer_protocol:
+        type: list
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - ethernet
+            - mpls
+            - odu2
+            - ipv4
+            - ipv6
+            - pseudo_wire
+        required: true
+      role:
+        type: string
+        constraints:
+        - valid_values:
+          - root
+          - leaf
+        required: false
+      description:
+        type: string
+        required: false
+      protocol_data:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.CpProtocolData
+        required: true
+      trunk_mode:
+        type: boolean
+        required: true
+      allowed_address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.nodes.nfv.VnfVirtualLinkDesc:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_flavours:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VlFlavour
+        required: true
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  org.openecomp.resource.vfc.AllottedResource:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+      role:
+        type: string
+        required: true
+        description: Unique label that defines the role that this allotted resource performs
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      target_network_role:
+        type: string
+        required: true
+        description: Target network role
+    requirements:
+    - service_dependency:
+        capability: org.openecomp.capabilities.AllottedResource
+        relationship: tosca.relationships.DependsOn
+        node: tosca.services.Root
+  tosca.nodes.nfv.ext.zte.VDU:
+    derived_from: tosca.nodes.Root
+    properties:
+      manual_scale_select_vim:
+        type: boolean
+        required: false
+      vdu_type:
+        type: string
+        required: false
+      watchdog:
+        type: tosca.datatypes.nfv.ext.zte.WatchDog
+        required: false
+      name:
+        type: string
+        required: false
+      local_affinity_antiaffinity_rule:
+        type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
+        required: false
+      support_scaling:
+        type: boolean
+        required: false
+      storage_policy:
+        type: string
+        required: false
+      key_vdu:
+        type: boolean
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+      inject_data_list:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.InjectData
+    requirements:
+    - guest_os:
+        capability: tosca.capabilities.nfv.ext.GuestOs
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage:
+        capability: tosca.capabilities.nfv.ext.LocalAttachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - volume_storage:
+        capability: tosca.capabilities.Attachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency:
+        capability: tosca.capabilities.Node
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      scalable:
+        type: tosca.capabilities.Scalable
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+      nfv_compute:
+        type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
+      virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+  tosca.nodes.nfv.VDU:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      Virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    properties:
+      bitrate_requirement:
+        type: integer
+        required: false
+      vnic_name:
+        type: string
+        required: false
+      vnic_order:
+        type: integer
+        required: false
+      vnic_type:
+        type: string
+        constraints:
+        - valid_values:
+          - normal
+          - macvtap
+          - direct
+          - baremetal
+          - direct-physical
+          - virtio-forwarder
+        required: false
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+        required: false
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+    - virtual_binding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        relationship: tosca.relationships.nfv.VirtualBindsTo
+        node: tosca.nodes.nfv.Vdu.Compute
+  org.openecomp.resource.vfc.NSD:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      nsd_id:
+        type: string
+        required: true
+        description: ID of the NSD
+      nsd_designer:
+        type: string
+        required: true
+        description: Designer of the NSD
+      nsd_version:
+        type: string
+        required: true
+        description: Version of the NSD
+      nsd_name:
+        type: string
+        required: true
+        description: Name of the NSD
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+        required: true
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+        required: true
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+        required: false
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      user_data:
+        type: string
+        required: false
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+    requirements:
+    - virtual_storage:
+        capability: tosca.capabilities.nfv.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+        node: tosca.nodes.nfv.Vdu.VirtualStorage
+        occurences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.GenericNeutronNet:
+    derived_from: org.openecomp.resource.vl.extVL
+    description: Generic Neutron Network
+    properties:
+      network_role:
+        type: string
+        description: |
+          Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+      network_scope:
+        type: string
+      network_ecomp_naming:
+        type: org.openecomp.datatypes.EcompNaming
+      network_type:
+        type: string
+        description: ECOMP supported network types.
+        default: NEUTRON
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+      network_technology:
+        type: string
+        description: ECOMP supported network technology
+        default: NEUTRON
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      type_of_storage:
+        type: string
+        constraints:
+        - valid_values:
+          - volume
+          - object
+          - root
+          - block
+        required: true
+      size_of_storage:
+        type: scalar-unit.size
+        required: true
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      rdma_enabled:
+        type: boolean
+        required: false
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+  tosca.nodes.nfv.ext.zte.VL:
+    derived_from: tosca.nodes.Root
+    properties:
+      segmentation_id:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      is_predefined:
+        type: boolean
+        required: false
+      mtu:
+        type: integer
+        required: false
+      dns_nameservers:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+      network_id:
+        type: string
+        required: false
+      host_routes:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.HostRouteInfo
+      ip_version:
+        type: integer
+        required: false
+      vendor:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      vlan_transparent:
+        type: boolean
+        required: false
+      cidr:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.ext.LocalStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: string
+        required: false
+      disk_type:
+        type: string
+        required: false
+    capabilities:
+      local_attachment:
+        type: tosca.capabilities.nfv.ext.LocalAttachment
+  tosca.nodes.nfv.ext.zte.CP:
+    derived_from: tosca.nodes.Root
+    properties:
+      guest_os_mtu:
+        type: integer
+        required: false
+      bandwidth:
+        type: integer
+        required: false
+      interface_name:
+        type: string
+        required: false
+      allowed_address_pairs:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.AddressPairs
+      ip_address:
+        type: string
+        required: false
+      bond:
+        type: string
+        required: false
+      proxiedVNFs:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      sfc_encapsulation:
+        type: string
+        required: false
+      floating_ip_address:
+        type: tosca.datatypes.nfv.ext.FloatingIP
+        required: false
+      service_ip_address:
+        required: false
+        type: string
+      mac_address:
+        type: string
+        required: false
+      proxiedVNFtype:
+        type: string
+        required: false
+      macbond:
+        type: string
+        required: false
+      vnic_type:
+        type: string
+        required: false
+      direction:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: false
+    requirements:
+    - forwarder:
+        capability: tosca.capabilities.nfv.Forwarder
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualbinding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualLink:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      forwarder:
+        type: tosca.capabilities.nfv.Forwarder
+  tosca.nodes.nfv.ext.ImageFile:
+    derived_from: tosca.nodes.Root
+    properties:
+      file_url:
+        type: string
+        required: false
+      container_type:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      disk_format:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+    capabilities:
+      guest_os:
+        type: tosca.capabilities.nfv.ext.GuestOs
+      image_fle:
+        type: tosca.capabilities.nfv.ext.ImageFile
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      descriptor_id:
+        type: string
+        required: true
+      descriptor_version:
+        type: string
+        required: true
+      provider:
+        type: string
+        required: true
+      product_name:
+        type: string
+        required: true
+      software_version:
+        type: string
+        required: true
+      product_info_name:
+        type: string
+        required: false
+      product_info_description:
+        type: string
+        required: false
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+        required: true
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      default_localization_language:
+        type: string
+        required: false
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+        required: false
+      modifiable_attributes:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
+        required: false
+      flavour_id:
+        type: string
+        required: true
+      flavour_description:
+        type: string
+        required: true
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Nfv:
+        type: tosca.interfaces.nfv.vnf.lifecycle.Nfv
+  org.openecomp.resource.vl.overlaytunnel:
+    derived_from: tosca.nodes.Root
+    description: This entity represents abstract overlay tunnel end point.
+    properties:
+      id:
+        type: string
+        description: Identifier of the Tunnel Endpoint node.
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      name:
+        type: string
+        description: Overlay tunnel name used by for reference by the administrator.
+        required: false
+      description:
+        type: string
+        description: Additional comments/information about overlay tunnel.
+        required: false
+      tunnelType:
+        type: string
+        constraints:
+        - valid_values:
+          - L3-DCI
+          - L2-DCI
+        description: type defines if the overlay tunnel is L3-DCI tunnel or L2-DCI tunnel.
+        required: true
+      site1_id:
+        type: string
+        description: Identifier of first DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site1_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site1_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site1_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site1_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site1_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site1_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site1_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site1_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site1_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+      site2_id:
+        type: string
+        description: Identifier of second DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site2_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site2_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site2_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site2_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site2_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site2_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site2_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site2_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site2_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.vl.underlayvpn:
+    derived_from: tosca.nodes.Root
+    description: undelay vpn type definitions
+    properties:
+      id:
+        type: string
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      vendor:
+        type: string
+        required: false
+      template_author:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      serviceType:
+        type: string
+        description: type of VPN service
+        required: false
+        default: l3vpn_sptn
+      topology:
+        type: string
+        description: type of VPN topology
+        constraints:
+        - valid_values:
+          - full-mesh
+          - point_to_multipoint
+          - point_to_point
+          - singlePoint
+          - hubspoke
+          - hubspoke_via_hubce
+          - hubspoke_disjoint
+          - ADD_DROP_Z
+        required: false
+        default: full-mesh
+      technology:
+        type: string
+        description: type of VPN technology
+        constraints:
+        - valid_values:
+          - mpls
+          - rosen multivpn
+          - vxlan overlay l3vpn
+          - eth over sdh
+          - vlan
+        required: false
+        default: mpls
+      site1_name:
+        type: string
+        description: name of first site
+        required: false
+      site2_name:
+        type: string
+        description: name of second site
+        required: false
+      sna1_name:
+        type: string
+        description: name of site network accesses associated with the site1
+        required: false
+      sna2_name:
+        type: string
+        description: name of site network accesses associated with the site2
+        required: false
+      pe1_id:
+        type: string
+        description: id of provider edge1, it can be name or ip or uuid
+        required: false
+      pe2_id:
+        type: string
+        description: id of provider edge2, it can be name or ip or uuid
+        required: false
+      ac1_id:
+        type: string
+        description: id of attachment circuit1, it can be port name or uuid
+        required: false
+      ac1_svlan:
+        type: integer
+        description: ac1 svlan
+        required: false
+      ac1_ip:
+        type: string
+        description: ip of ac1, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_peer_ip:
+        type: string
+        description: ip of ac1 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_route:
+        type: string
+        description: route configure of ac1, only for layer3 vpn
+        required: false
+      ac1_protocol:
+        type: string
+        description: routing protocol type of ac1, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        required: false
+      ac1_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac1, , only required for ebgp protocol
+        required: false
+      ac2_id:
+        type: string
+        description: id of attachment circuit2, it can be port name or uuid
+        required: false
+      ac2_svlan:
+        type: integer
+        description: ac2 svlan
+        required: false
+      ac2_ip:
+        type: string
+        description: ip of ac2, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_peer_ip:
+        type: string
+        description: ip of ac2 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_route:
+        type: string
+        description: route configure of ac2, only for layer3 vpn
+        required: false
+      ac2_protocol:
+        type: string
+        description: routing protocol type of ac2, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        default: STATIC
+        required: false
+      ac2_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac2, , only required for ebgp protocol
+        required: false
+      af_type:
+        type: string
+        description: address family type
+        default: ipv4
+        required: false
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
diff --git a/s3p/templates/numberOfPages/Definitions/policies.yml b/s3p/templates/numberOfPages/Definitions/policies.yml
new file mode 100644
index 0000000..6063d08
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/policies.yml
@@ -0,0 +1,134 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+policy_types:
+  tosca.policies.Root:
+    description: The TOSCA Policy Type all other TOSCA Policy Types derive from
+  tosca.policies.Placement:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes.
+  tosca.policies.Scaling:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes.
+  tosca.policies.Update:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes.
+  tosca.policies.Performance:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or groups of nodes.
+  org.openecomp.policies.placement.Antilocate:
+    derived_from: tosca.policies.Placement
+    description: My placement policy for separation based upon container type value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      container_type:
+        type: string
+        description: container type
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.Colocate:
+    derived_from: tosca.policies.Placement
+    description: Keep associated nodes (groups of nodes) based upon affinity value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      affinity:
+        type: string
+        description: affinity
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.valet.Diversity:
+    derived_from: tosca.policies.Placement
+    description: Valet Diversity
+    properties:
+      level:
+        type: string
+        description: diversity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Exclusivity:
+    derived_from: tosca.policies.Placement
+    description: Valet Exclusivity
+    properties:
+      level:
+        type: string
+        description: exclusivity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Affinity:
+    derived_from: tosca.policies.Placement
+    description: Valet Affinity
+    properties:
+      level:
+        type: string
+        description: affinity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.scaling.Fixed:
+    derived_from: tosca.policies.Scaling
+    properties:
+      quantity:
+        description: the exact number of instances to keep up
+        type: integer
+        required: true
+  org.openecomp.policies.External:
+    derived_from: tosca.policies.Root
+    description: externally managed policy (for example, type="network assignment", source="Policy Manager", name="route target")
+    properties:
+      source:
+        type: string
+        description: The name of the server that exposes the policy with predefined type and name.
+        required: false
+      type:
+        type: string
+        description: The type (category) of the policy same as it is defined in the source.
+        required: false
+      name:
+        type: string
+        description: The name of the policy, that related to specific type, same as it is defined in the source.
+        required: false
diff --git a/s3p/templates/numberOfPages/Definitions/relationships.yml b/s3p/templates/numberOfPages/Definitions/relationships.yml
new file mode 100644
index 0000000..b1b554d
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/relationships.yml
@@ -0,0 +1,142 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- capabilities.yml
+- data.yml
+- interfaces.yml
+relationship_types:
+  tosca.relationships.Root:
+    description: This is the default (root) TOSCA Relationship Type definition that all other TOSCA Relationship Types derive from.
+    attributes:
+      tosca_id:
+        description: A unique identifier of the realized instance of a Relationship Template that derives from any TOSCA normative type.
+        type: string
+      tosca_name:
+        description: This attribute reflects the name of the Relationship Template as defined in the TOSCA service template. This name is not unique to the realized instance model of corresponding deployed application as each template in the model can result in one or more instances (e.g., scaled) when orchestrated to a provider environment.
+        type: string
+      state:
+        description: The state of the relationship instance.
+        type: string
+        default: initial
+    interfaces:
+      Configure:
+        type: tosca.interfaces.relationship.Configure
+  tosca.relationships.RoutesTo:
+    derived_from: tosca.relationships.ConnectsTo
+    description: This type represents an intentional network routing between two Endpoints in different networks.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+  tosca.relationships.network.LinksTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This relationship type represents an association relationship between Port and Network node types.
+    valid_target_types:
+    - tosca.capabilities.network.Linkable
+  tosca.relationships.AttachesTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents an attachment relationship between two nodes. For example, an AttachesTo relationship type would be used for attaching a storage node to a Compute node.
+    valid_target_types:
+    - tosca.capabilities.Attachment
+    properties:
+      location:
+        description: 'The relative location (e.g., path on the file system), which
+          provides the root location to address an attached node. e.g., a mount point
+          / path such as ''/usr/data''. Note: The user must provide it and it cannot
+          be "root".'
+        type: string
+        constraints:
+        - min_length: 1
+      device:
+        description: The logical device name which for the attached device (which is represented by the target node in the model). e.g., '/dev/hda1'.
+        type: string
+        required: false
+    attributes:
+      device:
+        description: 'The logical name of the device as exposed to the instance. Note:
+          A runtime property that gets set when the model gets instantiated by the
+          orchestrator.'
+        type: string
+  tosca.relationships.network.BindsTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This type represents a network association relationship between Port and Compute node types.
+    valid_target_types:
+    - tosca.capabilities.network.Bindable
+  tosca.relationships.HostedOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a hosting relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Container
+  tosca.relationships.DependsOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a general dependency relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Node
+  tosca.relationships.ConnectsTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents a network connection relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+    properties:
+      credential:
+        type: tosca.datatypes.Credential
+        required: false
+  org.openecomp.relationships.VolumeAttachesTo:
+    derived_from: org.openecomp.relationships.AttachesTo
+    description: This type represents an attachment relationship for associating volume
+    properties:
+      volume_id:
+        description: The ID of the volume to be attached
+        type: string
+        status: SUPPORTED
+        required: true
+      instance_uuid:
+        description: The ID of the server to which the volume attaches
+        type: string
+        status: SUPPORTED
+        required: true
+    attributes:
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+  org.openecomp.relationships.AttachesTo:
+    derived_from: tosca.relationships.AttachesTo
+    description: This type represents an attachment relationship
+    properties:
+      location:
+        description: The relative location (e.g., path on the file system), which provides the root location to address an attached node.
+        type: string
+        status: SUPPORTED
+        required: false
+  org.openecomp.relationships.ForwardsTo:
+    derived_from: tosca.relationships.Root
+    valid_target_types:
+    - org.openecomp.capabilities.Forwarder
+  org.openecomp.relationships.AssignsTo:
+    derived_from: tosca.relationships.Root
+  org.openecomp.relationships.RoutesTo:
+    derived_from: tosca.relationships.RoutesTo
+    description: This type represents an intentional network routing between internal and external network
+  tosca.relationships.nfv.VirtualBindsTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualBindable
+  tosca.relationships.nfv.VirtualLinksTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualLinkable
+  tosca.relationships.nfv.Vdu.AttachedTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualStorage
diff --git a/s3p/templates/numberOfPages/Definitions/resource-VduCompute-template.yml b/s3p/templates/numberOfPages/Definitions/resource-VduCompute-template.yml
new file mode 100644
index 0000000..546f88a
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/resource-VduCompute-template.yml
@@ -0,0 +1,103 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+  UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+  name: VDU Compute
+  description: VDU Compute
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    description: VDU Compute
+    properties:
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+      name:
+        type: string
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+      description:
+        type: string
+      user_data:
+        type: string
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
diff --git a/s3p/templates/numberOfPages/Definitions/resource-VduCp-template.yml b/s3p/templates/numberOfPages/Definitions/resource-VduCp-template.yml
new file mode 100644
index 0000000..ec26637
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/resource-VduCp-template.yml
@@ -0,0 +1,59 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+  UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+  name: VDU Cp
+  description: VDU Cp
+  type: CP
+  category: Generic
+  subcategory: Network Elements
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    description: VDU Cp
+    properties:
+      vnic_name:
+        type: string
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+      bitrate_requirement:
+        type: integer
+      vnic_order:
+        type: integer
+      vnic_type:
+        type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/numberOfPages/Definitions/resource-VduVirtualstorage-template.yml b/s3p/templates/numberOfPages/Definitions/resource-VduVirtualstorage-template.yml
new file mode 100644
index 0000000..566f705
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/resource-VduVirtualstorage-template.yml
@@ -0,0 +1,50 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+  UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+  name: VDU VirtualStorage
+  description: VDU VirtualStorage
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    description: VDU VirtualStorage
+    properties:
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+      size_of_storage:
+        type: scalar-unit.size
+      rdma_enabled:
+        type: boolean
+      type_of_storage:
+        type: string
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/numberOfPages/Definitions/resource-Vgw1181049-template-interface.yml b/s3p/templates/numberOfPages/Definitions/resource-Vgw1181049-template-interface.yml
new file mode 100644
index 0000000..93cb070
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/resource-Vgw1181049-template-interface.yml
@@ -0,0 +1,208 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.resource.vf.Vgw1181049:
+    derived_from: org.openecomp.resource.abstract.nodes.VF
+    properties:
+      nf_naming:
+        default:
+          ecomp_generated_naming: true
+        type: org.openecomp.datatypes.Naming
+        required: false
+      multi_stage_design:
+        default: false
+        type: boolean
+        required: false
+      nf_function:
+        type: string
+        required: false
+      nf_naming_code:
+        type: string
+        required: false
+      availability_zone_max_count:
+        default: 1
+        type: integer
+        required: false
+      nf_role:
+        type: string
+        required: false
+      min_instances:
+        type: integer
+        required: false
+      max_instances:
+        type: integer
+        required: false
+      nf_type:
+        type: string
+        required: false
+    capabilities:
+      vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/numberOfPages/Definitions/resource-Vgw1181049-template.yml b/s3p/templates/numberOfPages/Definitions/resource-Vgw1181049-template.yml
new file mode 100644
index 0000000..68eec35
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/resource-Vgw1181049-template.yml
@@ -0,0 +1,282 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+  UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+  name: ##RANDOM_RESOURCE_NAME##
+  description: test
+  type: VF
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: vendor
+  resourceVendorRelease: '1.0'
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+- resource-VNF:
+    file: resource-Vnf-template.yml
+- resource-VnfVirtualLink:
+    file: resource-Vnfvirtuallink-template.yml
+- resource-VDU Cp:
+    file: resource-VduCp-template.yml
+- resource-VDU VirtualStorage:
+    file: resource-VduVirtualstorage-template.yml
+- resource-VDU Compute:
+    file: resource-VduCompute-template.yml
+topology_template:
+  inputs:
+    nf_naming:
+      default:
+        ecomp_generated_naming: true
+      type: org.openecomp.datatypes.Naming
+      required: false
+    multi_stage_design:
+      default: false
+      type: boolean
+      required: false
+    nf_function:
+      type: string
+      required: false
+    nf_naming_code:
+      type: string
+      required: false
+    availability_zone_max_count:
+      default: 1
+      type: integer
+      required: false
+    nf_role:
+      type: string
+      required: false
+    min_instances:
+      type: integer
+      required: false
+    max_instances:
+      type: integer
+      required: false
+    nf_type:
+      type: string
+      required: false
+  node_templates:
+    LLU_VNF:
+      type: tosca.nodes.nfv.VNF
+      metadata:
+        invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+        UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+        customizationUUID: 06bffc87-30c7-42ad-b99d-19c6c13405dc
+        version: '1.0'
+        name: VNF
+        description: VNF
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        descriptor_id: b1bb0ce7-2222-4fa7-95ed-4840d70a1177
+        provider: onap
+        vnfm_info:
+        - gvnfm
+        flavour_id: simple
+        descriptor_version: '1.0'
+        software_version: '1.0'
+        flavour_description: simple
+        product_name: vcpe_vgw
+    VL_mux_gw_private_net:
+      type: tosca.nodes.nfv.VnfVirtualLink
+      metadata:
+        invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+        UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+        customizationUUID: fbea54ef-8f8b-4f35-81d6-997a47282698
+        version: '1.0'
+        name: VnfVirtualLink
+        description: VnfVirtualLink
+        type: VL
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        vl_profile:
+          min_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          max_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          networkName: mux_gw_private_net_id
+          cidr: 192.168.0.0/24
+          dhcpEnabled: false
+        connectivity_type:
+          layer_protocol: ipv4
+    VDU_vgw_0:
+      type: tosca.nodes.nfv.Vdu.Compute
+      metadata:
+        invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+        UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+        customizationUUID: 93c3f2e3-67e7-4bb4-be11-8a48df924c4c
+        version: '1.0'
+        name: VDU Compute
+        description: VDU Compute
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        configurable_properties:
+          additional_vnfc_configurable_properties: {
+            }
+        name: vdu_vgw_0
+        description: vgw
+        vdu_profile:
+          watchdog: none
+          min_number_of_instances: 1
+          max_number_of_instances: 1
+      requirements:
+      - virtual_storage:
+          capability: virtual_storage
+          node: VirtualStorage_root_all
+      capabilities:
+        virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+              vdu_memory_requirements:
+                numberOfPages: '{"schemaVersion": "0","schemaSelector": "","hardwarePlatform": "generic", "mandatory":"true","configurationValue": "1024"}'
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+    VirtualStorage_root_all:
+      type: tosca.nodes.nfv.Vdu.VirtualStorage
+      metadata:
+        invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+        UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+        customizationUUID: dc20e1ad-aed9-4154-b2b4-3a702eee49a7
+        version: '1.0'
+        name: VDU VirtualStorage
+        description: VDU VirtualStorage
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        size_of_storage: 40 GB
+        type_of_storage: root
+    Cp_vgw_mux_gw_private_net:
+      type: tosca.nodes.nfv.VduCp
+      metadata:
+        invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+        UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+        customizationUUID: b5ff315f-effc-46e9-a0c5-aec1954845e0
+        version: '1.0'
+        name: VDU Cp
+        description: VDU Cp
+        type: CP
+        category: Generic
+        subcategory: Network Elements
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        trunk_mode: false
+        protocol_data:
+        - asscociated_layer_protocol: ipv4
+          address_data:
+            address_type: ip_address
+            l3_address_data:
+              fixed_ip_address:
+              - 192.168.0.1
+              ip_address_assignment: false
+              floating_ip_activated: false
+        layer_protocol:
+        - ipv4
+      requirements:
+      - virtual_link:
+          capability: virtual_linkable
+          node: VL_mux_gw_private_net
+      - virtual_binding:
+          capability: virtual_binding
+          node: VDU_vgw_0
+  substitution_mappings:
+    node_type: org.openecomp.resource.vf.Vgw1181049
+    capabilities:
+      vl_mux_gw_private_net.feature:
+      - vl_mux_gw_private_net
+      - feature
+      cp_vgw_mux_gw_private_net.feature:
+      - cp_vgw_mux_gw_private_net
+      - feature
+      vdu_vgw_0.virtual_compute:
+      - vdu_vgw_0
+      - virtual_compute
+      vdu_vgw_0.virtual_binding:
+      - vdu_vgw_0
+      - virtual_binding
+      virtualstorage_root_all.virtual_storage:
+      - virtualstorage_root_all
+      - virtual_storage
+      llu_vnf.feature:
+      - llu_vnf
+      - feature
+      vl_mux_gw_private_net.virtual_linkable:
+      - vl_mux_gw_private_net
+      - virtual_linkable
+      vl_mux_gw_private_net.monitoring_parameter:
+      - vl_mux_gw_private_net
+      - monitoring_parameter
+      vdu_vgw_0.monitoring_parameter:
+      - vdu_vgw_0
+      - monitoring_parameter
+      virtualstorage_root_all.feature:
+      - virtualstorage_root_all
+      - feature
+      vdu_vgw_0.feature:
+      - vdu_vgw_0
+      - feature
+    requirements:
+      vdu_vgw_0.virtual_storage:
+      - vdu_vgw_0
+      - virtual_storage
+      vl_mux_gw_private_net.dependency:
+      - vl_mux_gw_private_net
+      - dependency
+      virtualstorage_root_all.dependency:
+      - virtualstorage_root_all
+      - dependency
+      vdu_vgw_0.dependency:
+      - vdu_vgw_0
+      - dependency
+      cp_vgw_mux_gw_private_net.virtual_binding:
+      - cp_vgw_mux_gw_private_net
+      - virtual_binding
+      cp_vgw_mux_gw_private_net.dependency:
+      - cp_vgw_mux_gw_private_net
+      - dependency
+      llu_vnf.dependency:
+      - llu_vnf
+      - dependency
+      llu_vnf.virtual_link:
+      - llu_vnf
+      - virtual_link
+      cp_vgw_mux_gw_private_net.virtual_link:
+      - cp_vgw_mux_gw_private_net
+      - virtual_link
diff --git a/s3p/templates/numberOfPages/Definitions/resource-Vnf-template.yml b/s3p/templates/numberOfPages/Definitions/resource-Vnf-template.yml
new file mode 100644
index 0000000..121aba2
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/resource-Vnf-template.yml
@@ -0,0 +1,70 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+  UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+  name: VNF
+  description: VNF
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    description: VNF
+    properties:
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+      product_info_name:
+        type: string
+      default_localization_language:
+        type: string
+      flavour_id:
+        type: string
+      flavour_description:
+        type: string
+      product_name:
+        type: string
+      descriptor_id:
+        type: string
+      product_info_description:
+        type: string
+      provider:
+        type: string
+      descriptor_version:
+        type: string
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+      software_version:
+        type: string
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
diff --git a/s3p/templates/numberOfPages/Definitions/resource-Vnfvirtuallink-template.yml b/s3p/templates/numberOfPages/Definitions/resource-Vnfvirtuallink-template.yml
new file mode 100644
index 0000000..d39b1b3
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/resource-Vnfvirtuallink-template.yml
@@ -0,0 +1,57 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+  UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+  name: VnfVirtualLink
+  description: VnfVirtualLink
+  type: VL
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    description: VnfVirtualLink
+    properties:
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+      description:
+        type: string
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/numberOfPages/Definitions/service-Testns8-template-interface.yml b/s3p/templates/numberOfPages/Definitions/service-Testns8-template-interface.yml
new file mode 100644
index 0000000..45fc306
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/service-Testns8-template-interface.yml
@@ -0,0 +1,176 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.service.Testns8:
+    derived_from: org.openecomp.resource.abstract.nodes.service
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+    requirements:
+    - vgw11810490.llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - vgw11810490.llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/numberOfPages/Definitions/service-Testns8-template.yml b/s3p/templates/numberOfPages/Definitions/service-Testns8-template.yml
new file mode 100644
index 0000000..9d9bdc3
--- /dev/null
+++ b/s3p/templates/numberOfPages/Definitions/service-Testns8-template.yml
@@ -0,0 +1,135 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 5be056bd-1ecd-4c14-9465-3bbc994190ee
+  UUID: 188ed3c6-1573-4b2d-9d3f-a03693bed79b
+  name: TestNs8
+  description: test
+  type: Service
+  category: Network Service
+  serviceType: ''
+  serviceRole: ''
+  instantiationType: A-la-carte
+  serviceEcompNaming: true
+  ecompGeneratedNaming: true
+  namingPolicy: ''
+  environmentContext: General_Revenue-Bearing
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- service-TestNs8-interface:
+    file: service-Testns8-template-interface.yml
+- resource-vgw1181049:
+    file: resource-Vgw1181049-template.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+topology_template:
+  node_templates:
+    vgw1181049 0:
+      type: org.openecomp.resource.vf.Vgw1181049
+      metadata:
+        invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+        UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+        customizationUUID: 32efc3ac-6fd2-4cda-9f15-592e54f41560
+        version: '1.0'
+        name: ##RANDOM_RESOURCE_NAME##
+        description: test
+        type: VF
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: vendor
+        resourceVendorRelease: '1.0'
+        resourceVendorModelNumber: ''
+      properties:
+        nf_naming:
+          ecomp_generated_naming: true
+        multi_stage_design: false
+        availability_zone_max_count: 1
+      capabilities:
+        vdu_vgw_0.virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+              vdu_memory_requirements:
+                numberOfPages: '{"schemaVersion": "0","schemaSelector": "","hardwarePlatform":
+                  "generic","mandatory": "true", "configurationValue": "1024"}'
+                memoryPageSize: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform":
+                  "generic", "mandatory": "true", "configurationValue": "2 MB"}'
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+  substitution_mappings:
+    node_type: org.openecomp.service.Testns8
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+      - vgw11810490
+      - virtualstorage_root_all.virtual_storage
+      vgw11810490.llu_vnf.feature:
+      - vgw11810490
+      - llu_vnf.feature
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+      - vgw11810490
+      - vdu_vgw_0.monitoring_parameter
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+      - vgw11810490
+      - vl_mux_gw_private_net.monitoring_parameter
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.feature
+      vgw11810490.vl_mux_gw_private_net.feature:
+      - vgw11810490
+      - vl_mux_gw_private_net.feature
+      vgw11810490.vdu_vgw_0.feature:
+      - vgw11810490
+      - vdu_vgw_0.feature
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+      - vgw11810490
+      - vl_mux_gw_private_net.virtual_linkable
+      vgw11810490.vdu_vgw_0.virtual_binding:
+      - vgw11810490
+      - vdu_vgw_0.virtual_binding
+      vgw11810490.virtualstorage_root_all.feature:
+      - vgw11810490
+      - virtualstorage_root_all.feature
+      vgw11810490.vdu_vgw_0.virtual_compute:
+      - vgw11810490
+      - vdu_vgw_0.virtual_compute
+    requirements:
+      vgw11810490.vdu_vgw_0.virtual_storage:
+      - vgw11810490
+      - vdu_vgw_0.virtual_storage
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_link
+      vgw11810490.llu_vnf.dependency:
+      - vgw11810490
+      - llu_vnf.dependency
+      vgw11810490.virtualstorage_root_all.dependency:
+      - vgw11810490
+      - virtualstorage_root_all.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.dependency
+      vgw11810490.llu_vnf.virtual_link:
+      - vgw11810490
+      - llu_vnf.virtual_link
+      vgw11810490.vl_mux_gw_private_net.dependency:
+      - vgw11810490
+      - vl_mux_gw_private_net.dependency
+      vgw11810490.vdu_vgw_0.dependency:
+      - vgw11810490
+      - vdu_vgw_0.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_binding
diff --git a/s3p/templates/numberOfPages/TOSCA-Metadata/TOSCA.meta b/s3p/templates/numberOfPages/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000..e65ed50
--- /dev/null
+++ b/s3p/templates/numberOfPages/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,7 @@
+TOSCA-Meta-File-Version: 1.0
+CSAR-Version: 1.1
+Created-By: Carlos Santana
+Entry-Definitions: Definitions/service-Testns8-template.yml
+
+Name: csar.meta
+Content-Type: text/plain
diff --git a/s3p/templates/numberOfPages/csar.meta b/s3p/templates/numberOfPages/csar.meta
new file mode 100644
index 0000000..bc3359c
--- /dev/null
+++ b/s3p/templates/numberOfPages/csar.meta
@@ -0,0 +1,2 @@
+SDC-TOSCA-Meta-File-Version: 1.0
+SDC-TOSCA-Definitions-Version: 9.0
diff --git a/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
new file mode 100644
index 0000000..6059757
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAxsekiqwLgs9VfChnr2bnpLC3VqD1iT+s969vWe05j1RDozPu
+zyD3krNgVUcd65x2QQJWrDK2fnyQUtubbPb3wviLXs0Gof4a/b65JsMQkeeC2/OK
+aFvrE6D3heouXmWO1vo1iXy2hUhcfXdr6eM3rP3zpU9zb2Al25/90Ha8kKBpe1RS
+PKHpmcqVXIpGVxJSXnioAFXUsJ687qrTv7Zm13AHkm2L1Y5IvMsGHLFjFTGFlFoY
+ftQQAepF507CFqs66tD378vvNVg8LYqrKpnfdx2PIRNLHAa1xQWc0EvwGHyBQZRL
+hTXS3M3IZ7Y22dJ+3Zg15PMx7QmWDZO5MG/JPwIDAQABAoIBAE5KS1AiutXmezDP
+aSb4TLvcrhj8hDhuT92txxmQCV+ePJWG2sPRpDCvXX246NvnX9vy49gmkSH4RY+c
+1vZvvt2XrqzD65zZzB+sgpf1tA0DNdMTdKvtqASvHU4tEd4z+bJKEdP4vpp4CZWQ
+93vC9ia4TsIJLNns8Hwz42+7lEEResKYZA2djGnzHl+83vR1dm0GGBD6BKR1C3Cx
+HbEhqx42EV61+8nAweQNjWKxeAc2hg+H8o8qWJM1aKy0TnqW6kudOYRyYIpX0rJA
+siE2HwvDA1mDd5M8ntZ/Cx0pnTc/cuZB8BQJ0jN1JXbrJGbWspBNXformw7isbyO
+WIOjvEECgYEA84XKV3aPrTE2JBs5vzzs59NMPV+5frw+xzDyPxqK5Q7+jjVKDwxh
+/WRatCaTdRxhOI905HfVsDYjrsPOpmF9MHsLxmBhwk8zBFOu/xtYr7zBNkJhmCsq
+kZMdxf8bpu08E7kMQJ2MvT7OhM5HRlWIUR0jdja8Hz51Ro4oOb/po7kCgYEA0Pb5
+v12ZsaSHMF0r4l983PifNwYmI22iQIEtRT2DxgTkDKgBTjbRzqZmEhaADMAO48o9
+sIZy+KJ/a8G9fPQVwMgBID8zOHnWsrFmM3qkj5hhrAQdtq7OE71zgaP0tyE1TG4u
+Zs3a7eSyuoildHHFqX88oXSYsTlfV8vn23UpwLcCgYEAwXiCuBger8dQL0FeEJwz
+zz5k7MG3WoPuEEzHuPC6dp8CCDM4IlqBI1JuaX/YWQtyBgCbKsQ2BigNE1THQhJj
+5ndrdHCwWjKX4pElj9HHFN+OVTBJ3x40VLGfzuUNsAH8X+L9Y/yHivZyFrrXj352
+rZLL0KhNrzjs7WAVf0QEOCkCgYBe2s1xnZZnueyX+qMyBfBTChST0Jm9WUXejAS1
+un+3gn7Wc+jrzRyd9pC8wzPrFb9sjWBFYjKMRI8cpfxS3SWGtgM01Rt2FnBr+vUO
+hyxt9ljX0aJ/S4hGE6h7/6XU/yEHibhMeENZ24d5/w9D9WUpVJV8IMYzJHzwCKI9
+z0hdrwKBgQDMKvY3DBpZjhZe9YnOgdj4SRpNwaasUSf3a3SZYY1JyOZVUzeSSzoX
+rYLfxBRDjkJ8Nnod+nR/JSRqYa/SJYEMZEZFsC+k/pvBiaP6tk694IlpLD/2MXN6
+14FUV5LH/rGSbZJMSfZ9yNX1XZDowH8nOu+qlmlU4lmgiOuityTmtw==
+-----END RSA PRIVATE KEY-----
diff --git a/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
new file mode 100644
index 0000000..f31d15d
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
@@ -0,0 +1 @@
+ubuntu_16.04
diff --git a/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
new file mode 100644
index 0000000..c49c2c6
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
@@ -0,0 +1 @@
+<vendor-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><entitlement-pool-list><entitlement-pool><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><version>1.0</version><name>entitlement pool</name><description/><increments/><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><version>1.0</version><name>license key</name><description/><type>Universal</type><increments/><manufacturerReferenceNumber/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list></vendor-license-model>
\ No newline at end of file
diff --git a/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
new file mode 100644
index 0000000..db573af
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
@@ -0,0 +1 @@
+<vf-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><vf-id>2455e00dddf84eedaaed6eb412d39a7e</vf-id><feature-group-list><feature-group><entitlement-pool-list><entitlement-pool><name>entitlement pool</name><description/><increments/><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><name>license key</name><description/><type>Universal</type><increments/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><manufacturer-reference-number/><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list><name>feature group</name><feature-group-uuid>d3780d334c4c42d38c7ab1ec23a65cfd</feature-group-uuid><part-number>4444</part-number><description/></feature-group></feature-group-list></vf-license-model>
\ No newline at end of file
diff --git a/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
new file mode 100644
index 0000000..f08e56f
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
@@ -0,0 +1,29 @@
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
+
+
+1.    VSP Details: 
+    a.    Name: vgw1181049
+    b.    Description test
+    c.    Version: 0.0
+    d.    Vendor: vendor
+    e.    Category: resourceNewCategory.generic
+    f.    License Details: 
+        i.    License Model Version: 0.0
+        ii.    License Agreement Name: b24b9792f0ec4e72818387a230acec5a
+        iii    List of Feature Groups: 
+            1.    d3780d334c4c42d38c7ab1ec23a65cfd
+    g.    High Availability 
+    h.    Storage Data Back-up Details: 
+        i.    Data Replication Required?: false
+        ii.    	Data Size to replicate in GB: null
+        iii.    Data replication frequency: null
+        iv.    Replication Source: null
+        v.    Replication Destination: null
+    3.    List of VFCs 
+        a.    For each VFC: 
+
+
+
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
\ No newline at end of file
diff --git a/s3p/templates/pciDeviceId/Definitions/annotations.yml b/s3p/templates/pciDeviceId/Definitions/annotations.yml
new file mode 100644
index 0000000..2f14606
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/annotations.yml
@@ -0,0 +1,30 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+annotation_types:
+  org.openecomp.annotations.Source:
+    description: Indicates the origin source of an input
+    properties:
+      source_type:
+        type: string
+      vf_module_label:
+        type: list
+        description: List of VF Modules this input was originated from
+        entry_schema:
+          type: string
+      param_name:
+        type: string
+        description: Source parameter name
diff --git a/s3p/templates/pciDeviceId/Definitions/artifacts.yml b/s3p/templates/pciDeviceId/Definitions/artifacts.yml
new file mode 100644
index 0000000..175615c
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/artifacts.yml
@@ -0,0 +1,42 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+artifact_types:
+  tosca.artifacts.Root:
+    description: This is the default (root) TOSCA Artifact Type definition that all other TOSCA base Artifact Types derive from.
+  tosca.artifacts.Deployment.Image:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact type represents a parent type for any "image" which is an opaque packaging of a TOSCA Node's deployment (whether real or virtual) whose contents are typically already installed and pre-configured (i.e., "stateful") and prepared to be run on a known target container.
+  tosca.artifacts.Implementation.Bash:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Bash script type that contains Bash commands that can be executed on the Unix Bash shell.
+  tosca.artifacts.Deployment.Image.VM:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact represents the parent type for all Virtual Machine (VM) image and container formatted deployment artifacts. These images contain a stateful capture of a machine (e.g., server) including operating system and installed software along with any configurations and can be run on another machine using a hypervisor which virtualizes typical server (i.e., hardware) resources.
+  tosca.artifacts.Implementation.Python:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Python file that contains Python language constructs that can be executed within a Python interpreter.
+  tosca.artifacts.Deployment:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all deployment artifacts in TOSCA. This class of artifacts typically represents a binary packaging of an application or service that is used to install/create or deploy it as part of a node's lifecycle.
+  tosca.artifacts.File:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type is used when an artifact definition needs to have its associated file simply treated as a file and no special handling/handlers are invoked (i.e., it is not treated as either an implementation or deployment artifact type).
+  tosca.artifacts.Implementation:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all implementation artifacts in TOSCA. These artifacts are used to implement operations of TOSCA interfaces either directly (e.g., scripts) or indirectly (e.g., config. files).
+  tosca.artifacts.nfv.SwImage:
+    derived_from: tosca.artifacts.Deployment.Image
diff --git a/s3p/templates/pciDeviceId/Definitions/capabilities.yml b/s3p/templates/pciDeviceId/Definitions/capabilities.yml
new file mode 100644
index 0000000..734c201
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/capabilities.yml
@@ -0,0 +1,293 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+capability_types:
+  tosca.capabilities.Root:
+    description: The TOSCA root Capability Type all other TOSCA base Capability Types derive from
+  tosca.capabilities.Attachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Node:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Container:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: integer
+        required: false
+        constraints:
+        - greater_or_equal: 1
+      cpu_frequency:
+        type: scalar-unit.frequency
+        required: false
+        constraints:
+        - greater_or_equal: 0.1 GHz
+      disk_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+      mem_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+  org.openecomp.capabilities.PortMirroring:
+    derived_from: tosca.capabilities.Root
+    properties:
+      connection_point:
+        type: org.openecomp.datatypes.PortMirroringConnectionPointDescription
+  tosca.capabilities.Endpoint:
+    derived_from: tosca.capabilities.Root
+    properties:
+      protocol:
+        type: string
+        default: tcp
+      port:
+        type: PortDef
+        required: false
+      secure:
+        type: boolean
+        default: false
+      url_path:
+        type: string
+        required: false
+      port_name:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+        default: PRIVATE
+      initiator:
+        type: string
+        default: source
+        constraints:
+        - valid_values:
+          - source
+          - target
+          - peer
+      ports:
+        type: map
+        required: false
+        constraints:
+        - min_length: 1
+        entry_schema:
+          type: PortSpec
+    attributes:
+      ip_address:
+        type: string
+  tosca.capabilities.DatabaseEndpoint:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.Endpoint.Public:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      network_name: PUBLIC
+      floating:
+        description: |
+          indicates that the public address should be allocated from a pool of floating IPs that are associated with the network.
+        type: boolean
+        default: false
+        status: experimental
+      dns_name:
+        description: The optional name to register with DNS
+        type: string
+        required: false
+        status: experimental
+  tosca.capabilities.Endpoint.Admin:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      secure: true
+  tosca.capabilities.Endpoint.Database:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.OperatingSystem:
+    derived_from: tosca.capabilities.Root
+    properties:
+      architecture:
+        type: string
+        required: false
+      type:
+        type: string
+        required: false
+      distribution:
+        type: string
+        required: false
+      version:
+        type: version
+        required: false
+  tosca.capabilities.Scalable:
+    derived_from: tosca.capabilities.Root
+    properties:
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      default_instances:
+        type: integer
+  tosca.capabilities.network.Bindable:
+    derived_from: tosca.capabilities.Node
+  tosca.capabilities.Container.Docker:
+    derived_from: tosca.capabilities.Container
+    properties:
+      version:
+        type: list
+        required: false
+        entry_schema: version
+      publish_all:
+        type: boolean
+        default: false
+        required: false
+      publish_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      expose_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      volumes:
+        type: list
+        entry_schema: string
+        required: false
+  tosca.capabilities.network.Linkable:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.AllottedResource:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Metric:
+    derived_from: tosca.capabilities.Endpoint
+  org.openecomp.capabilities.Metric:
+    derived_from: tosca.capabilities.nfv.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored.
+    properties:
+      unit:
+        type: string
+        description: Unit of the metric value
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: Description of the metric
+        required: false
+        status: SUPPORTED
+      type:
+        type: string
+        description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+        required: true
+        status: SUPPORTED
+      category:
+        type: string
+        description: Category of the metric, for an example, compute, disk, network, storage and etc.
+        required: false
+        status: SUPPORTED
+    attributes:
+      value:
+        type: string
+        description: Runtime monitored value
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.Ceilometer:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+    properties:
+      name:
+        type: string
+        description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpPolling:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp polling.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpTrap:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp trap.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.Forwarder:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.VLANAssignment:
+    derived_from: tosca.capabilities.Root
+    description: ability to expose routing information of the internal network
+    properties:
+      vfc_instance_group_reference:
+        type: string
+        description: Ability to recognize capability per vfc instance group on vnf instance
+        required: true
+  org.openecomp.capabilities.RoutingConfiguration:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.FabricConfiguration:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualStorage:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualCompute:
+    derived_from: tosca.capabilities.Root
+    properties:
+      logical_node:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+      compute_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      requested_additional_capabilities:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.RequestedAdditionalCapability
+        required: false
+      virtual_memory:
+        type: tosca.datatypes.nfv.VirtualMemory
+        required: true
+      virtual_cpu:
+        type: tosca.datatypes.nfv.VirtualCpu
+        required: true
+  tosca.capabilities.nfv.VirtualBindable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ExtVirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Forwarder:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.GuestOs:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.ImageFile:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.LocalAttachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.Compute.Container.Architecture:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: string
+        required: false
+      flavor_extra_specs:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      mem_size:
+        type: string
+        required: false
diff --git a/s3p/templates/pciDeviceId/Definitions/data.yml b/s3p/templates/pciDeviceId/Definitions/data.yml
new file mode 100644
index 0000000..0ff7179
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/data.yml
@@ -0,0 +1,1733 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+data_types:
+  tosca.datatypes.Root:
+    description: The TOSCA root Data Type all other TOSCA base Data Types derive from
+  integer:
+    derived_from: tosca.datatypes.Root
+  string:
+    derived_from: tosca.datatypes.Root
+  boolean:
+    derived_from: tosca.datatypes.Root
+  float:
+    derived_from: tosca.datatypes.Root
+  list:
+    derived_from: tosca.datatypes.Root
+  map:
+    derived_from: tosca.datatypes.Root
+  json:
+    derived_from: tosca.datatypes.Root
+  scalar-unit:
+    derived_from: tosca.datatypes.Root
+  scalar-unit.size:
+    derived_from: scalar-unit
+  scalar-unit.time:
+    derived_from: scalar-unit
+  scalar-unit.frequency:
+    derived_from: scalar-unit
+  tosca.datatypes.Credential:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: false
+      token_type:
+        type: string
+        default: password
+      token:
+        type: string
+      keys:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      user:
+        type: string
+        required: false
+  org.openecomp.datatypes.PortMirroringConnectionPointDescription:
+    derived_from: tosca.datatypes.Root
+    properties:
+      nf_naming_code:
+        type: string
+      nfc_naming_code:
+        type: string
+      network_role:
+        type: string
+      pps_capacity:
+        type: string
+      nf_type:
+        type: string
+        description: deprecated
+      nfc_type:
+        type: string
+        description: deprecated
+  tosca.datatypes.TimeInterval:
+    derived_from: tosca.datatypes.Root
+    properties:
+      start_time:
+        type: timestamp
+        required: true
+      end_time:
+        type: timestamp
+        required: true
+  tosca.datatypes.network.NetworkInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      network_name:
+        type: string
+      network_id:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      port_name:
+        type: string
+      port_id:
+        type: string
+      network_id:
+        type: string
+      mac_address:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortDef:
+    derived_from: integer
+    constraints:
+    - in_range:
+      - 1
+      - 65535
+  tosca.datatypes.network.PortSpec:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: true
+        default: tcp
+        constraints:
+        - valid_values:
+          - udp
+          - tcp
+          - igmp
+      target:
+        type: tosca.datatypes.network.PortDef
+      target_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+      source:
+        type: tosca.datatypes.network.PortDef
+      source_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+  org.openecomp.datatypes.heat.network.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: MAC/IP address pairs
+    properties:
+      mac_address:
+        type: string
+        description: MAC address
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.subnet.HostRoute:
+    derived_from: tosca.datatypes.Root
+    description: Host route info for the subnet
+    properties:
+      destination:
+        type: string
+        description: The destination for static route
+        required: false
+        status: SUPPORTED
+      nexthop:
+        type: string
+        description: The next hop for the destination
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.AllocationPool:
+    derived_from: tosca.datatypes.Root
+    description: The start and end addresses for the allocation pool
+    properties:
+      start:
+        type: string
+        description: Start address for the allocation pool
+        required: false
+        status: SUPPORTED
+      end:
+        type: string
+        description: End address for the allocation pool
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.Subnet:
+    derived_from: tosca.datatypes.Root
+    description: A subnet represents an IP address block that can be used for assigning IP addresses to virtual instances
+    properties:
+      tenant_id:
+        type: string
+        description: The ID of the tenant who owns the network
+        required: false
+        status: SUPPORTED
+      enable_dhcp:
+        type: boolean
+        description: Set to true if DHCP is enabled and false if DHCP is disabled
+        required: false
+        default: true
+        status: SUPPORTED
+      ipv6_address_mode:
+        type: string
+        description: IPv6 address mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      ipv6_ra_mode:
+        type: string
+        description: IPv6 RA (Router Advertisement) mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      allocation_pools:
+        type: list
+        description: The start and end addresses for the allocation pools
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AllocationPool
+      subnetpool:
+        type: string
+        description: The name or ID of the subnet pool
+        required: false
+        status: SUPPORTED
+      dns_nameservers:
+        type: list
+        description: A specified set of DNS name servers to be used
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      host_routes:
+        type: list
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.subnet.HostRoute
+      ip_version:
+        type: integer
+        description: The gateway IP address
+        required: false
+        default: 4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - '4'
+          - '6'
+      name:
+        type: string
+        description: The name of the subnet
+        required: false
+        status: SUPPORTED
+      prefixlen:
+        type: integer
+        description: Prefix length for subnet allocation from subnet pool
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      cidr:
+        type: string
+        description: The CIDR
+        required: false
+        status: SUPPORTED
+      gateway_ip:
+        type: string
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.novaServer.network.PortExtraProperties:
+    derived_from: tosca.datatypes.Root
+    description: Nova server network expand properties for port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the port
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: The administrative state of this port
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this port
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.novaServer.network.AddressInfo:
+    derived_from: tosca.datatypes.network.NetworkInfo
+    description: Network addresses with corresponding port id
+    properties:
+      port_id:
+        type: string
+        description: Port id
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.neutron.port.FixedIps:
+    derived_from: tosca.datatypes.Root
+    description: subnet/ip_address
+    properties:
+      subnet:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address desired in the subnet for this port
+        required: false
+        status: SUPPORTED
+      subnet_id:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.FileInfo:
+    derived_from: tosca.datatypes.Root
+    description: Heat File Info
+    properties:
+      file:
+        type: string
+        description: The required URI string (relative or absolute) which can be used to locate the file
+        required: true
+        status: SUPPORTED
+      file_type:
+        type: string
+        description: The type of the file
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - base
+          - env
+          - volume
+          - network
+  org.openecomp.datatypes.heat.contrail.network.rule.PortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source and destination port pairs
+    properties:
+      start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      apply_service:
+        type: string
+        description: Service to apply
+        required: false
+        status: SUPPORTED
+      dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.Rule
+  org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source and destination addresses
+    properties:
+      virtual_network:
+        type: string
+        description: Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule:
+    derived_from: tosca.datatypes.Root
+    description: Rules Pairs
+    properties:
+      remote_group_id:
+        type: string
+        description: The remote group ID to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      protocol:
+        type: string
+        description: The protocol that is matched by the security group rule
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - tcp
+          - udp
+          - icmp
+      ethertype:
+        type: string
+        description: Ethertype of the traffic
+        required: false
+        default: IPv4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - IPv4
+          - IPv6
+      port_range_max:
+        type: integer
+        description: 'The maximum port number in the range that is matched by the
+          security group rule. '
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+      remote_ip_prefix:
+        type: string
+        description: The remote IP prefix (CIDR) to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      remote_mode:
+        type: string
+        description: Whether to specify a remote group or a remote IP prefix
+        required: false
+        default: remote_ip_prefix
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - remote_ip_prefix
+          - remote_group_id
+      direction:
+        type: string
+        description: The direction in which the security group rule is applied
+        required: false
+        default: ingress
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - egress
+          - ingress
+      port_range_min:
+        type: integer
+        description: The minimum port number in the range that is matched by the security group rule.
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+  org.openecomp.datatypes.heat.substitution.SubstitutionFiltering:
+    derived_from: tosca.datatypes.Root
+    description: Substitution Filter
+    properties:
+      substitute_service_template:
+        type: string
+        description: Substitute Service Template
+        required: true
+        status: SUPPORTED
+      index_value:
+        type: integer
+        description: Index value of the substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      count:
+        type: string
+        description: Count
+        required: false
+        default: 1
+        status: SUPPORTED
+      scaling_enabled:
+        type: boolean
+        description: Indicates whether service scaling is enabled
+        required: false
+        default: true
+        status: SUPPORTED
+      mandatory:
+        type: boolean
+        description: Mandatory
+        required: false
+        default: true
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data sequence
+    properties:
+      network_policy_refs_data_sequence_major:
+        type: integer
+        description: Network Policy ref data sequence Major
+        required: false
+        status: SUPPORTED
+      network_policy_refs_data_sequence_minor:
+        type: integer
+        description: Network Policy ref data sequence Minor
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data
+    properties:
+      network_policy_refs_data_sequence:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence
+        description: Network Policy ref data sequence
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix len
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet List
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_addr_from_start:
+        type: string
+        description: Network ipam refs data ipam subnets addr from start
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data
+    properties:
+      network_ipam_refs_data_ipam_subnets:
+        type: list
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source addresses
+    properties:
+      network_policy_entries_policy_rule_src_addresses_virtual_network:
+        type: string
+        description: Source addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: destination addresses
+    properties:
+      network_policy_entries_policy_rule_dst_addresses_virtual_network:
+        type: string
+        description: Destination addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: destination port pairs
+    properties:
+      network_policy_entries_policy_rule_dst_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_dst_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source port pairs
+    properties:
+      network_policy_entries_policy_rule_src_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList:
+    derived_from: tosca.datatypes.Root
+    description: Action List
+    properties:
+      network_policy_entries_policy_rule_action_list_simple_action:
+        type: string
+        description: Simple Action
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_action_list_apply_service:
+        type: list
+        description: Apply Service
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      network_policy_entries_policy_rule_dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork
+      network_policy_entries_policy_rule_dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs
+      network_policy_entries_policy_rule_protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork
+      network_policy_entries_policy_rule_direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs
+      network_policy_entries_policy_rule_action_list:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList
+        description: Action list
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      network_policy_entries_policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.Rule
+  org.openecomp.datatypes.heat.network.contrail.port.StaticRoute:
+    derived_from: tosca.datatypes.Root
+    description: static route
+    properties:
+      prefix:
+        type: string
+        description: Route prefix
+        required: false
+        status: SUPPORTED
+      next_hop:
+        type: string
+        description: Next hop
+        required: false
+        status: SUPPORTED
+      next_hop_type:
+        type: string
+        description: Next hop type
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Address Pair
+    properties:
+      address_mode:
+        type: string
+        description: Address mode active-active or active-standy
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - active-active
+          - active-standby
+      prefix:
+        type: string
+        description: IP address prefix
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: Mac address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.InterfaceData:
+    derived_from: tosca.datatypes.Root
+    description: Interface Data
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Interface Properties.
+    properties:
+      virtual_machine_interface_properties_service_interface_type:
+        type: string
+        description: Service Interface Type.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.Root:
+    derived_from: tosca.datatypes.Root
+    description: |
+      The ECOMP root Data Type all other Data Types derive from
+    properties:
+      supplemental_data:
+        type: map
+        entry_schema:
+          description: |
+            A placeholder for missing properties that would be included in future ecomp model versions. fromat <key>:<value>
+          type: string
+  org.openecomp.datatypes.AssignmentRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_required:
+        description: |
+          "true" indicates that assignment is required
+        type: boolean
+        default: false
+        required: true
+      count:
+        description: number of assignments required
+        type: integer
+        required: false
+  org.openecomp.datatypes.network.SubnetAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_network_address_plan:
+        type: string
+        required: false
+        description: Reference to EIPAM, VLAN or other address plan ID used to assign subnets to this network
+      dhcp_enabled:
+        type: boolean
+        required: false
+        description: \"true\" indicates the network has 1 or more policies
+      ip_version:
+        type: integer
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+        required: true
+        description: The IP version of the subnet
+      cidr_mask:
+        type: integer
+        required: true
+        description: The default subnet CIDR mask
+      min_subnets_count:
+        type: integer
+        default: 1
+        required: true
+        description: Quantity of subnets that must be initially assigned
+  org.openecomp.datatypes.network.IPv4SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv4:
+        type: boolean
+        required: true
+        description: Indicates IPv4 subnet assignments
+  org.openecomp.datatypes.network.IPv6SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv6:
+        type: boolean
+        required: true
+        description: Indicates IPv6 subnet assignments
+  org.openecomp.datatypes.network.NetworkAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_network_assignment:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the network assignments will be auto-generated by ECOMP \"false\" indicates operator-supplied Network assignments file upload is required (e.g. VID will present prompt to operator to upload operator-supplied Network assignments file).
+      is_shared_network:
+        type: boolean
+        required: true
+        description: \"true\" means this network is shared by multiple Openstack tenants
+      is_external_network:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" means this Contrail external network
+      ipv4_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv4SubnetAssignments
+        required: true
+        description: IPv4 defualt subnet assignments
+      ipv6_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv6SubnetAssignments
+        required: true
+        description: IPv6 defualt subnet assignments
+      related_networks:
+        type: list
+        required: false
+        description: Related Networks List.
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+      is_trunked:
+        type: boolean
+        required: true
+        description: \"true\" indicates that network is trunked
+        default: false
+  org.openecomp.datatypes.network.ProviderNetwork:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_provider_network:
+        type: boolean
+        required: true
+        description: \"true\" indicates that this a Neutron provider type of network
+      physical_network_name:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Physnet41
+          - Physnet42
+          - Physnet43
+          - Physnet44
+          - Physnet21
+          - Physnet22
+          - sriovnet1
+          - sriovnet2
+          - oam
+        description: |
+          Identifies the NUMA processor cluster to which this physical network interface belongs. NUMA instance correlates to the first digit of the Physical Network Name suffix (e.g. \"01\" = NUMA 0, \"11\" = NUMA 1)
+      numa:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - NUMA 0
+          - NUMA 1
+        description: |
+          PNIC instance within the NUMA processor cluster PNIC Instance correlates to the second digit of the Physical Network Name suffix (e.g. "01" = PNIC 1, "02" = "PNIC 2)
+      pnic_instance:
+        type: integer
+        required: false
+        description: PNIC instance within the NUMA processor cluster
+  org.openecomp.datatypes.network.NetworkFlows:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_network_policy:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more policies
+      network_policy:
+        type: string
+        required: false
+        description: 'Identifies the specific Cloud network policy that must be applied
+          to this network (source: from Policy Manager).'
+      is_bound_to_vpn:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more vpn bindings
+      vpn_binding:
+        type: string
+        required: false
+        description: 'Identifies the specific VPN Binding entry in A&AI that must
+          be applied when creating this network (source: A&AI)'
+  org.openecomp.datatypes.network.VlanRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      vlan_range_plan:
+        type: string
+        required: true
+        description: reference to a vlan range plan
+      vlan_type:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - c-tag
+          - s-tag
+        description: identifies the vlan type (e.g., c-tag)
+      vlan_count:
+        type: integer
+        required: true
+        description: identifies the number of vlan tags to assign to the CP from the plan
+  org.openecomp.datatypes.network.IpRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: true
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      ip_count:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: integer
+        required: false
+      floating_ip_count:
+        type: integer
+        required: false
+      subnet_role:
+        type: string
+        required: false
+      assingment_method:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - fixed
+          - dhcp
+      dhcp_enabled:
+        type: boolean
+        required: false
+      ip_count_required:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      floating_ip_count_required:
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      ip_address_plan_name:
+        type: string
+        required: false
+      vrf_name:
+        type: string
+        required: false
+  org.openecomp.datatypes.network.MacAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        type: string
+        required: true
+        description: reference to a MAC address range plan
+      mac_count:
+        type: integer
+        required: true
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+  org.openecomp.datatypes.EcompHoming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_selected_instance_node_target:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the target deployment node for this instance will be auto-selected by ECOMP \"false\" indicates operator-supplied instance target deployment node required (e.g. VID will present a prompt to operator and collect the operator-selected target node for the deployment of this Network instance).
+      homing_policy:
+        type: string
+        required: false
+        description: Referenc to a service level homing policy that ECOMP will use for instance deployment target node
+      instance_node_target:
+        type: string
+        required: false
+        description: Instance target deployment node
+  org.openecomp.datatypes.EcompNaming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        type: boolean
+        required: true
+        default: true
+        description: |
+          \"true\" indicates that the name for the instance will be auto-generated by ECOMP. \"false\" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+      naming_policy:
+        type: string
+        required: false
+        description: Referenc to naming policy that ECOMP will use when the name is auto-generated
+  org.openecomp.datatypes.network.MacRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        description: reference to a MAC address range plan
+        type: string
+        required: false
+      mac_count:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: integer
+        required: false
+      mac_count_required:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair IP.
+    properties:
+      ip_prefix:
+        type: string
+        description: IP Prefix.
+        required: false
+        status: SUPPORTED
+      ip_prefix_len:
+        type: integer
+        description: IP Prefix Len.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Mac Address.
+    properties:
+      mac_address:
+        type: list
+        description: Mac Addresses List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface VLAN Properties.
+    properties:
+      sub_interface_vlan_tag:
+        type: string
+        description: Sub Interface VLAN Tag.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair.
+    properties:
+      address_mode:
+        type: string
+        description: Address Mode.
+        required: false
+        status: SUPPORTED
+      ip:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp
+        description: IP.
+        required: false
+        status: SUPPORTED
+      mac:
+        type: string
+        description: Mac.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pairs.
+    properties:
+      allowed_address_pair:
+        type: list
+        description: Addresses pair List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair
+  org.openecomp.datatypes.Naming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        description: |
+          "true" indicates that the name for the instance will be auto-generated by ECOMP. "false" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: boolean
+        default: true
+        required: true
+      naming_policy:
+        description: Reference to naming policy that ECOMP will use when the name is auto-generated
+        type: string
+        required: false
+      instance_name:
+        description: indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: string
+        required: false
+  org.openecomp.datatypes.flavors.ComputeFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      num_cpus:
+        type: integer
+      disk_size:
+        type: scalar-unit.size
+      mem_size:
+        type: scalar-unit.size
+  org.openecomp.datatypes.flavors.LicenseFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      feature_group_uuid:
+        type: string
+  org.openecomp.datatypes.flavors.VendorInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      manufacturer_reference_number:
+        type: string
+      vendor_model:
+        type: string
+  org.openecomp.datatypes.flavors.DeploymentFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      sp_part_number:
+        type: string
+      vendor_info:
+        type: org.openecomp.datatypes.flavors.VendorInfo
+      compute_flavor:
+        type: org.openecomp.datatypes.flavors.ComputeFlavor
+      license_flavor:
+        type: org.openecomp.datatypes.flavors.LicenseFlavor
+        required: false
+  org.openecomp.datatypes.ImageInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      software_version:
+        type: string
+      file_name:
+        type: string
+      file_hash:
+        type: string
+        description: checksum/signature
+      file_hash_type:
+        type: string
+        required: false
+        default: md5
+  org.openecomp.datatypes.network.RelatedNetworksAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      related_network_role:
+        type: string
+        description: The network role of the related network, sharing provider network.
+        required: false
+  tosca.datatypes.nfv.VnfcConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      additional_vnfc_configurable_properties:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.RequestedAdditionalCapability:
+    derived_from: tosca.datatypes.Root
+    properties:
+      support_mandatory:
+        type: boolean
+        required: true
+      min_requested_additional_capability_version:
+        type: string
+        required: false
+      preferred_requested_additional_capability_version:
+        type: string
+        required: false
+      requested_additional_capability_name:
+        type: string
+        required: true
+      target_performance_parameters:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+  tosca.datatypes.nfv.VirtualMemory:
+    derived_from: tosca.datatypes.Root
+    properties:
+      virtual_mem_size:
+        type: scalar-unit.size
+        required: true
+      virtual_mem_oversubscription_policy:
+        type: string
+        required: false
+      vdu_memory_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      numa_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VirtualCpuPinning:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_pinning_policy:
+        type: string
+        constraints:
+        - valid_values:
+          - static
+          - dynamic
+        required: false
+      cpu_pinning_map:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualCpu:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_architecture:
+        type: string
+        required: false
+      num_virtual_cpu:
+        type: integer
+        required: true
+      virtual_cpu_clock:
+        type: scalar-unit.frequency
+        required: false
+      virtual_cpu_oversubscription_policy:
+        type: string
+        required: false
+      vdu_cpu_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      virtual_cpu_pinning:
+        type: tosca.datatypes.nfv.VirtualCpuPinning
+        required: false
+  tosca.datatypes.nfv.LogicalNodeData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      logical_node_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      support_mandatory:
+        type: boolean
+        required: true
+      requirement:
+        type: string
+        required: false
+      network_interface_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+      nic_io_requirements:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+  tosca.datatypes.nfv.injectFile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      source_path:
+        type: string
+        required: true
+      dest_path:
+        type: string
+        required: true
+  tosca.datatypes.nfv.L2AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      mac_address_assignment:
+        type: boolean
+        required: true
+      address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.L3AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      ip_address_assignment:
+        type: boolean
+        required: true
+      floating_ip_activated:
+        type: boolean
+        required: true
+      ip_address_type:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - ipv4
+          - ipv6
+      number_of_ip_address:
+        type: integer
+        required: false
+      fixed_ip_address:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.AddressData:
+    properties:
+      address_type:
+        constraints:
+        - valid_values:
+          - mac_address
+          - ip_address
+        type: string
+        required: true
+      l2_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L2AddressData
+      l3_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L3AddressData
+  tosca.datatypes.nfv.ConnectivityType:
+    derived_from: tosca.datatypes.Root
+    properties:
+      layer_protocol:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo_wire
+      flow_pattern:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Line
+          - Tree
+          - Mesh
+  tosca.datatypes.nfv.VlFlavour:
+    derived_from: tosca.datatypes.Root
+    properties:
+      flavourId:
+        type: string
+  tosca.datatypes.nfv.ext.AddressPairs:
+    properties:
+      ip:
+        type: string
+        required: false
+      mac:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.FloatingIP:
+    properties:
+      external_network:
+        type: string
+        required: false
+      ip_address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocationInfo:
+    properties:
+      availability_zone:
+        type: string
+        required: false
+      vimid:
+        type: integer
+        required: false
+      tenant:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.HostRouteInfo:
+    properties:
+      destination:
+        type: string
+        required: false
+      nexthop:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.InjectData:
+    properties:
+      file_name:
+        type: string
+        required: false
+      file_data:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.zte.WatchDog:
+    properties:
+      enable_delay:
+        type: integer
+        required: false
+      action:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule:
+    properties:
+      scope:
+        type: string
+        required: false
+      affinity_antiaffinity:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VduProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_number_of_instances:
+        type: integer
+        required: true
+      max_number_of_instances:
+        type: integer
+        required: true
+      watchdog:
+        type: string
+        required: true
+      vmBootUpTimeOut:
+        type: integer
+        required: false
+  tosca.datatypes.nfv.LinkBitRateRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      root:
+        type: integer
+        required: true
+      leaf:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.Qos:
+    derived_from: tosca.datatypes.Root
+    properties:
+      latency:
+        type: integer
+        required: true
+      packet_delay_variation:
+        type: integer
+        required: true
+      packet_loss_ratio:
+        type: float
+        constraints:
+        - in_range:
+          - 0.0
+          - 1.0
+        required: false
+  tosca.datatypes.nfv.VlProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      max_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      min_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      qos:
+        type: tosca.datatypes.nfv.Qos
+        required: false
+      initiationParameters:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      cidr:
+        type: string
+        required: false
+      networkName:
+        type: string
+        required: false
+      startIp:
+        type: string
+        required: false
+      endIp:
+        type: string
+        required: false
+      gatewayIp:
+        type: string
+        required: false
+      segmentationId:
+        type: integer
+        required: false
+      physicalNetwork:
+        type: string
+        required: false
+      networkType:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - VLAN
+          - VXLAN
+      dhcpEnabled:
+        type: boolean
+        required: false
+      vlanTransparent:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VduLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      number_of_instances:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaleLevel:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleAspect:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      associated_group:
+        type: string
+        required: false
+      max_scale_level:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.InstantiationLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: true
+      vdu_levels:
+        type: map
+        required: true
+        entry_schema:
+          type: tosca.datatypes.nfv.VduLevel
+      scale_info:
+        type: map
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ScaleInfo
+  tosca.datatypes.nfv.VnfScaleOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaling_by_more_than_one_step_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      arbitrary_target_levels_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfHealOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      causes:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfOperateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scale:
+        type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
+      scale_to_level:
+        type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
+      heal:
+        type: tosca.datatypes.nfv.VnfHealOperationConfiguration
+      terminate:
+        type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
+      operate:
+        type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
+  tosca.datatypes.nfv.CpProtocolData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      asscociated_layer_protocol:
+        type: string
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo-wire
+        required: true
+      address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.datatypes.nfv.VnfConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      is_autoscale_enabled:
+        type: boolean
+        required: false
+      is_autoheal_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributes:
+    derived_from: tosca.datatypes.Root
+    properties:
+      extensions:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
+        required: false
+      metadata:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
+        required: false
diff --git a/s3p/templates/pciDeviceId/Definitions/groups.yml b/s3p/templates/pciDeviceId/Definitions/groups.yml
new file mode 100644
index 0000000..f8be60d
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/groups.yml
@@ -0,0 +1,133 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+group_types:
+  tosca.groups.Root:
+    description: The TOSCA Group Type all other TOSCA Group Types derive from
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  org.openecomp.groups.heat.HeatStack:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same heat stack
+    properties:
+      heat_file:
+        type: string
+        description: Heat file which associate to this group/heat stack
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: group description
+        required: true
+        status: SUPPORTED
+  org.openecomp.groups.VfModule:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same VF Module
+    properties:
+      isBase:
+        type: boolean
+        description: Whether this module should be deployed before other modules
+        required: true
+        default: false
+        status: SUPPORTED
+      vf_module_label:
+        type: string
+        required: true
+        description: |
+          Alternate textual key used to reference this VF-Module model.  Must be unique within the VNF model
+      vf_module_description:
+        type: string
+        required: true
+        description: |
+          Description of the VF-modules contents and purpose   (e.g. "Front-End" or "Database Cluster")
+      min_vf_module_instances:
+        type: integer
+        required: true
+        description: The minimum instances of this VF-Module
+      max_vf_module_instances:
+        type: integer
+        required: false
+        description: The maximum instances of this VF-Module
+      initial_count:
+        type: integer
+        required: false
+        description: |
+          The initial count of instances of the VF-Module. The value must be in the  range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances.
+      vf_module_type:
+        type: string
+        required: true
+        constraint:
+        - valid_values:
+          - Base
+          - Expansion
+      volume_group:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          "true" indicates that this VF Module model requires attachment to a Volume   Group.  VID operator must select the Volume Group instance to attach to a VF-Module  at deployment time.
+      availability_zone_count:
+        type: integer
+        required: false
+        description: |
+          Quantity of Availability Zones needed for this VF-Module     (source: Extracted from VF-Module HEAT template)
+      vfc_list:
+        type: map
+        entry_schema:
+          description: <vfc_id>:<count>
+          type: string
+        required: false
+        description: |
+          Identifies the set of VM types and their count included in the VF-Module
+  org.openecomp.groups.NetworkCollection:
+    derived_from: tosca.groups.Root
+    description: groups l3-networks in network collection
+    properties:
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function
+      network_collection_description:
+        type: string
+        required: true
+        description: network collection description, free format text
+  org.openecomp.groups.VfcInstanceGroup:
+    derived_from: tosca.groups.Root
+    description: groups VFCs with same parent port role
+    properties:
+      vfc_instance_group_function:
+        type: string
+        required: true
+        description: function of this VFC group
+      vfc_parent_port_role:
+        type: string
+        required: true
+        description: common role of parent ports of VFCs in this group
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function assigned to this group
+      subinterface_role:
+        type: string
+        required: true
+        description: common role of subinterfaces of VFCs in this group, criteria the group is created
+    capabilities:
+      vlan_assignment:
+        type: org.openecomp.capabilities.VLANAssignment
+        properties:
+          vfc_instance_group_reference:
+            type: string
diff --git a/s3p/templates/pciDeviceId/Definitions/interfaces.yml b/s3p/templates/pciDeviceId/Definitions/interfaces.yml
new file mode 100644
index 0000000..a11c716
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/interfaces.yml
@@ -0,0 +1,83 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+interface_types:
+  tosca.interfaces.nfv.vnf.lifecycle.Nfv:
+    instantiate:
+      description: Invoked upon receipt of an Instantiate VNF request
+    instantiate_start:
+      description: Invoked before instantiate
+    instantiate_end:
+      description: Invoked after instantiate
+    terminate:
+      description: Invoked upon receipt Terminate VNF request
+    terminate_start:
+      description: Invoked before terminate
+    terminate_end:
+      description: Invoked after terminate
+    modify_information:
+      description: Invoked upon receipt of a Modify VNF Information request
+    modify_information_start:
+      description: Invoked before modify_information
+    modify_information_end:
+      description: Invoked after modify_information
+    change_flavour:
+      description: Invoked upon receipt of a Change VNF Flavour request
+    change_flavour_start:
+      description: Invoked before change_flavour
+    change_flavour_end:
+      description: Invoked after change_flavour
+    change_external_connectivity:
+      description: Invoked upon receipt of a Change External VNF Connectivity request
+    change_external_connectivity_start:
+      description: Invoked before change_external_connectivity
+    change_external_connectivity_end:
+      description: Invoked after change_external_connectivity
+    operate:
+      description: Invoked upon receipt of an Operate VNF request
+    operate_start:
+      description: Invoked before operate
+    operate_end:
+      description: Invoked after operate
+    heal:
+      description: Invoked upon receipt of a Heal VNF request
+    heal_start:
+      description: Invoked before heal
+    heal_end:
+      description: Invoked after heal
+    scale:
+      description: Invoked upon receipt of a Scale VNF request
+    scale_start:
+      description: Invoked before scale
+    scale_end:
+      description: Invoked after scale
+    scale_to_level:
+      description: Invoked upon receipt of a Scale VNF to Level request
+    scale_to_level_start:
+      description: Invoked before scale_to_level
+    scale_to_level_end:
+      description: Invoked after scale_to_level
+  tosca.interfaces.node.lifecycle.Standard:
+    create:
+      description: Standard lifecycle create operation.
+    configure:
+      description: Standard lifecycle configure operation.
+    start:
+      description: Standard lifecycle start operation.
+    stop:
+      description: Standard lifecycle stop operation.
+    delete:
+      description: Standard lifecycle delete operation.
diff --git a/s3p/templates/pciDeviceId/Definitions/nodes.yml b/s3p/templates/pciDeviceId/Definitions/nodes.yml
new file mode 100644
index 0000000..62d77f4
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/nodes.yml
@@ -0,0 +1,4781 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+- artifacts.yml
+- capabilities.yml
+- interfaces.yml
+- relationships.yml
+node_types:
+  tosca.nodes.BlockStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 1 MB
+      volume_id:
+        type: string
+        required: false
+      snapshot_id:
+        type: string
+        required: false
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+  tosca.nodes.WebApplication:
+    derived_from: tosca.nodes.Root
+    properties:
+      context_root:
+        type: string
+    capabilities:
+      app_endpoint:
+        type: tosca.capabilities.Endpoint
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.WebServer
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.Database:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: the logical name of the database
+      port:
+        type: integer
+        description: the port the underlying database service will listen to for data
+      user:
+        type: string
+        description: the optional user account name for DB administration
+        required: false
+      password:
+        type: string
+        description: the optional password for the DB user account
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.DBMS
+        relationship: tosca.relationships.HostedOn
+    capabilities:
+      database_endpoint:
+        type: tosca.capabilities.Endpoint.Database
+  tosca.nodes.Container.Runtime:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+      scalable:
+        type: tosca.capabilities.Scalable
+  tosca.nodes.network.Port:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: true
+        default: 0
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        type: boolean
+        required: false
+        default: false
+      ip_range_start:
+        type: string
+        required: false
+      ip_range_end:
+        type: string
+        required: false
+    requirements:
+    - link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  tosca.nodes.Root:
+    description: The TOSCA Node Type all other TOSCA base Node Types derive from
+    attributes:
+      tosca_id:
+        type: string
+      tosca_name:
+        type: string
+      state:
+        type: string
+    capabilities:
+      feature:
+        type: tosca.capabilities.Node
+    requirements:
+    - dependency:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  tosca.nodes.network.Network:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: false
+        default: 4
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      cidr:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      network_id:
+        type: string
+        required: false
+      segmentation_id:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+        default: true
+    capabilities:
+      link:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.Compute:
+    derived_from: tosca.nodes.Root
+    attributes:
+      private_address:
+        type: string
+      public_address:
+        type: string
+      networks:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.NetworkInfo
+      ports:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.PortInfo
+    requirements:
+    - local_storage:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+      endpoint:
+        type: tosca.capabilities.Endpoint.Admin
+      os:
+        type: tosca.capabilities.OperatingSystem
+      scalable:
+        type: tosca.capabilities.Scalable
+      binding:
+        type: tosca.capabilities.network.Bindable
+  tosca.nodes.LoadBalancer:
+    derived_from: tosca.nodes.Root
+    properties:
+      algorithm:
+        type: string
+        required: false
+        status: experimental
+    capabilities:
+      client:
+        type: tosca.capabilities.Endpoint.Public
+        occurrences:
+        - 0
+        - UNBOUNDED
+        description: the Floating (IP) client’s on the public network can connect to
+    requirements:
+    - application:
+        capability: tosca.capabilities.Endpoint
+        relationship: tosca.relationships.RoutesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.DBMS:
+    derived_from: tosca.nodes.SoftwareComponent
+    properties:
+      root_password:
+        type: string
+        required: false
+        description: the optional root password for the DBMS service
+      port:
+        type: integer
+        required: false
+        description: the port the DBMS service will listen to for data and requests
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.Database
+  tosca.nodes.WebServer:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      data_endpoint: tosca.capabilities.Endpoint
+      admin_endpoint: tosca.capabilities.Endpoint.Admin
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.WebApplication
+  tosca.nodes.Container.Application:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Container
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.SoftwareComponent:
+    derived_from: tosca.nodes.Root
+    properties:
+      component_version:
+        type: version
+        required: false
+      admin_credential:
+        type: tosca.datatypes.Credential
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.ObjectStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+      maxsize:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+    capabilities:
+      storage_endpoint:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ServiceProxy:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrailV2.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+      network_policy_entries:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      shared:
+        type: string
+        description: Is virtual network shared
+        required: false
+        status: SUPPORTED
+      forwarding_mode:
+        type: string
+        description: forwarding mode of the virtual network
+        required: false
+        status: SUPPORTED
+      external:
+        type: string
+        description: Is virtual network external
+        required: false
+        status: SUPPORTED
+      allow_transit:
+        type: string
+        description: Whether this network should be transitive.
+        required: false
+        status: SUPPORTED
+      flood_unknown_unicast:
+        type: string
+        description: flood L2 packets on network
+        required: false
+        status: SUPPORTED
+      route_targets:
+        type: list
+        description: route targets associated with the virtual network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extContrailCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.service:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.v2.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.vfc.nodes.volume:
+    derived_from: tosca.nodes.BlockStorage
+  org.openecomp.nodes.VLANNetworkReceptor:
+    derived_from: tosca.nodes.Root
+    capabilities:
+      routing_configuration_internal:
+        type: org.openecomp.capabilities.RoutingConfiguration
+    requirements:
+    - vlan_assignment:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.VLANAssignment
+        relationship: org.openecomp.relationships.AssignsTo
+  org.openecomp.resource.vl.nodes.heat.network.neutron.Net:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      dhcp_agent_ids:
+        type: list
+        description: The IDs of the DHCP agent to schedule the network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      tenant_id:
+        type: string
+        description: The ID of the tenant which will own the network
+        required: false
+        status: SUPPORTED
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      shared:
+        type: boolean
+        description: Whether this network should be shared across all tenants
+        required: false
+        default: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      mtu:
+        type: scalar-unit.size
+        description: The maximum transmission unit size(in bytes) for the network
+        status: SUPPORTED
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.nova.Server:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      admin_pass:
+        type: string
+        description: The administrator password for the server
+        required: false
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      image:
+        type: string
+        description: The ID or name of the image to boot with
+        required: false
+        status: SUPPORTED
+      image_update_policy:
+        type: string
+        description: Policy on how to apply an image-id update
+        required: false
+        default: REBUILD
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REBUILD_PRESERVE_EPHEMERAL
+          - REPLACE
+          - REBUILD
+      metadata:
+        type: json
+        description: Arbitrary JSON metadata to store for this server
+        required: false
+        status: SUPPORTED
+      contrail_service_instance_ind:
+        type: boolean
+        description: Nova server related to service instance indicator
+        required: false
+        default: false
+        status: SUPPORTED
+      user_data_update_policy:
+        type: string
+        description: Policy on how to apply a user_data update
+        required: false
+        default: REPLACE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE
+          - IGNORE
+      flavor_update_policy:
+        type: string
+        description: Policy on how to apply a flavor update
+        required: false
+        default: RESIZE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - RESIZE
+          - REPLACE
+      user_data:
+        type: string
+        description: User data script to be executed by cloud-init
+        required: false
+        default: ''
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: The ID or name of the flavor to boot onto
+        required: true
+        status: SUPPORTED
+      key_name:
+        type: string
+        description: Name of keypair to inject into the server
+        required: false
+        status: SUPPORTED
+      reservation_id:
+        type: string
+        description: A UUID for the set of servers being requested
+        required: false
+        status: SUPPORTED
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      config_drive:
+        type: boolean
+        description: enable config drive on the server
+        required: false
+        status: SUPPORTED
+      personality:
+        type: map
+        description: A map of files to create/overwrite on the server upon boot
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      software_config_transport:
+        type: string
+        description: How the server should receive the metadata required for software configuration
+        required: false
+        default: POLL_SERVER_CFN
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - POLL_SERVER_CFN
+          - POLL_SERVER_HEAT
+          - POLL_TEMP_URL
+          - ZAQAR_MESSAGE
+      user_data_format:
+        type: string
+        description: How the user_data should be formatted for the server
+        required: false
+        default: HEAT_CFNTOOLS
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - SOFTWARE_CONFIG
+          - RAW
+          - HEAT_CFNTOOLS
+      diskConfig:
+        type: string
+        description: Control how the disk is partitioned when the server is created
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - AUTO
+          - MANUAL
+      name:
+        type: string
+        description: Server name
+        required: false
+        status: SUPPORTED
+      scheduler_hints:
+        type: map
+        description: Arbitrary key-value pairs specified by the client to help boot a server
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      accessIPv4:
+        type: string
+        description: The manually assigned alternative public IPv4 address of the server
+        status: SUPPORTED
+      addresses:
+        type: map
+        description: A dict of all network addresses with corresponding port_id
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo
+      accessIPv6:
+        type: string
+        description: The manually assigned alternative public IPv6 address of the server
+        status: SUPPORTED
+      instance_name:
+        type: string
+        description: AWS compatible instance name
+        status: SUPPORTED
+      name:
+        type: string
+        description: Name of the server
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      console_urls:
+        type: string
+        description: URLs of servers consoles
+        status: SUPPORTED
+  org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      description:
+        type: string
+        description: Description of the security group
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this security group, which is not required to be unique.
+        required: false
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of security group rules
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule
+    attributes:
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+    requirements:
+    - port:
+        capability: tosca.capabilities.Attachment
+        node: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.cinder.Volume:
+    derived_from: org.openecomp.resource.vfc.nodes.volume
+    properties:
+      availability_zone:
+        description: The availability zone in which the volume will be created
+        type: string
+        status: SUPPORTED
+        required: false
+      image:
+        description: If specified, the name or ID of the image to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      metadata:
+        description: Key/value pairs to associate with the volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      volume_type:
+        description: If specified, the type of volume to use, mapping to a specific backend
+        type: string
+        status: SUPPORTED
+        required: false
+      description:
+        description: A description of the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      device_type:
+        description: Device type
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - cdrom
+          - disk
+      disk_bus:
+        description: 'Bus of the device: hypervisor driver chooses a suitable default
+          if omitted'
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - ide
+          - lame_bus
+          - scsi
+          - usb
+          - virtio
+      backup_id:
+        description: If specified, the backup to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      source_volid:
+        description: If specified, the volume to use as source
+        type: string
+        status: SUPPORTED
+        required: false
+      boot_index:
+        description: Integer used for ordering the boot disks
+        type: integer
+        status: SUPPORTED
+        required: false
+      size:
+        description: The requested storage size (default unit is MB)
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+        constraints:
+        - greater_or_equal: 1 GB
+      read_only:
+        description: Enables or disables read-only access mode of volume
+        type: boolean
+        status: SUPPORTED
+        required: false
+      name:
+        description: A name used to distinguish the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      scheduler_hints:
+        description: Arbitrary key-value pairs specified by the client to help the Cinder scheduler creating a volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      swap_size:
+        description: The size of the swap, in MB
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+      delete_on_termination:
+        description: Indicate whether the volume should be deleted when the server is terminated
+        type: boolean
+        status: SUPPORTED
+        required: false
+      multiattach:
+        description: Whether allow the volume to be attached more than once
+        type: boolean
+        status: SUPPORTED
+        required: false
+    attributes:
+      display_description:
+        description: Description of the volume
+        type: string
+        status: SUPPORTED
+      attachments:
+        description: The list of attachments of the volume
+        type: string
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      encrypted:
+        description: Boolean indicating if the volume is encrypted or not
+        type: boolean
+        status: SUPPORTED
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+      created_at:
+        description: The timestamp indicating volume creation
+        type: timestamp
+        status: SUPPORTED
+      display_name:
+        description: Name of the volume
+        type: string
+        status: SUPPORTED
+      metadata_values:
+        description: Key/value pairs associated with the volume in raw dict form
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      bootable:
+        description: Boolean indicating if the volume can be booted or not
+        type: boolean
+        status: SUPPORTED
+      status:
+        description: The current status of the volume
+        type: string
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.CR:
+    derived_from: tosca.nodes.Root
+    properties:
+      cr_function:
+        type: string
+      cr_role:
+        type: string
+      cr_type:
+        type: string
+  org.openecomp.resource.vl.extVL:
+    derived_from: tosca.nodes.Root
+    description: VF Tenant oam protected network
+    properties:
+      network_type:
+        type: string
+        required: true
+        description: ECOMP supported network types.
+      network_role:
+        type: string
+        required: true
+        description: |
+          Unique label that defines the role that this network performs.   example: vce oam network, vnat sr-iov1 network
+      network_scope:
+        type: string
+        constraints:
+          valid_values:
+          - VF
+          - SERVICE
+          - GLOBAL
+        description: |
+          Uniquely identifies the network scope. Valid values for the network scope   includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects  the VFs within the service GLOBAL - Global network which can be shared by multiple services
+      network_technology:
+        type: string
+        required: true
+        description: ECOMP supported network technology
+      exVL_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+        required: true
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+        required: true
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+        required: true
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.abstract.nodes.PNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_type:
+        type: string
+      software_versions:
+        type: list
+        entry_schema:
+          type: string
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      entries:
+        type: org.openecomp.datatypes.heat.contrail.network.rule.RuleList
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: tenant_id
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of rules
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.nodes.PortMirroringConfiguration:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+    - collector:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.nodes.VRFObject:
+    derived_from: tosca.nodes.Root
+    description: provides capability to connect WAN Transport Service Proxy to VRF Entry
+    capabilities:
+      routing_configuration_external:
+        type: org.openecomp.capabilities.RoutingConfiguration
+  org.openecomp.resource.abstract.nodes.VFC:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      nfc_function:
+        type: string
+      high_availablity:
+        type: string
+        description: high_availablity
+        required: false
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      nfc_naming_code:
+        type: string
+        description: nfc code for instance naming
+        required: false
+        status: SUPPORTED
+      vm_type_tag:
+        type: string
+        description: vm type based on naming Convention
+        required: false
+        status: SUPPORTED
+      nfc_naming:
+        type: org.openecomp.datatypes.Naming
+        description: vfc naming
+      min_instances:
+        type: integer
+        description: Minimum number of VFC Instances
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      max_instances:
+        type: integer
+        description: Maximum number of VFC Instances
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 1
+  org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.abstract.nodes.VnfConfiguration:
+    derived_from: tosca.nodes.Root
+    properties:
+      allowed_flavors:
+        description: a collection of all flavor valuesets available for a given VFC
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.flavors.DeploymentFlavor
+  org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      network_ipam_refs_data:
+        type: list
+        description: IPAM references Data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData
+      network_policy_refs_data:
+        type: list
+        description: Policy references data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData
+      network_ipam_refs:
+        type: list
+        description: IPAM references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      network_policy_refs:
+        type: list
+        description: Policy references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vl.internalVL:
+    derived_from: tosca.nodes.network.Network
+    description: The AT&T internal (VF-level) Virtual Link
+  org.openecomp.resource.vl.ELine:
+    derived_from: org.openecomp.resource.vl.VL
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 0
+        - 2
+  org.openecomp.resource.vl.VL:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.Configuration:
+    derived_from: tosca.nodes.Root
+    properties:
+      type:
+        type: string
+        description: The type of the node, the configuration will be defined for it. Ex. SBC
+        required: false
+      role:
+        type: string
+        description: The role of the node, the configuration will be defined for it. Ex. Active, Standby
+        required: false
+      function:
+        type: string
+        description: The function of the node, the configuration will be defined for it. Ex. NAT Traversal
+        required: false
+  org.openecomp.resource.cp.nodes.network.v2.SubInterface:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        description: Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to fulfill but may not be able to dependent on the network the port is associated with.
+        type: string
+        required: false
+      order:
+        description: 'The order of the NIC on the compute instance (e.g. eth2). Note:
+          when binding more than one port to a single compute (aka multi vNICs) and
+          ordering is desired, it is *mandatory* that all ports will be set with an
+          order value and. The order values must represent a positive, arithmetic
+          progression that starts with 0 (e.g. 0, 1, 2, ..., n).'
+        type: integer
+        default: 0
+        required: false
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        description: Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway. Only one port that is associated to single compute node can set as default=true.
+        type: boolean
+        default: false
+        required: false
+      ip_range_start:
+        description: Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+      ip_range_end:
+        description: Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+    attributes:
+      ip_address:
+        description: The IP address would be assigned to the associated compute instance.
+        type: string
+    requirements:
+    - subinterface_link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  org.openecomp.resource.cp.v2.extCP:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    description: The SDC External Connection Point base type
+    capabilities:
+      port_mirroring:
+        type: org.openecomp.capabilities.PortMirroring
+  org.openecomp.resource.vfc.nodes.Compute:
+    derived_from: tosca.nodes.Compute
+    capabilities:
+      disk.ephemeral.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.ephemeral.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of ephemeral disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: instance
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: instance
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Existence of instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu.delta
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used since previous datapoint
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Delta
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: '%'
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu_util
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average CPU utilization
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.root.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of root disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: vcpu
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: vcpus
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of virtual CPUs allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance from the amount of its allocated memory
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.resident
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance on the physical machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.MultiFlavorVFC:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      images:
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.ImageInfo
+        required: false
+  org.openecomp.nodes.PortMirroringConfigurationByPolicy:
+    derived_from: tosca.nodes.Root
+    properties:
+      collector_node:
+        type: string
+        description: The name of the Collector Proxy
+        required: true
+      policy_name:
+        type: string
+        description: The name of the policy for selection of the collector interfaces
+        required: true
+      equip_model:
+        type: string
+        description: The name of the equipment type of the collector, i.e. Cisco 4500x
+        required: true
+      equip_vendor:
+        type: string
+        description: The name of the equipment vendor of the collector, i.e. Cisco
+        required: true
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.VF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_naming_code:
+        type: string
+      nf_type:
+        type: string
+      nf_naming:
+        type: org.openecomp.datatypes.Naming
+        Default: true
+      availability_zone_max_count:
+        type: integer
+        default: 1
+        constraints:
+        - valid_values:
+          - 0
+          - 1
+          - 2
+      min_instances:
+        type: integer
+      max_instances:
+        type: integer
+      multi_stage_design:
+        type: boolean
+        default: false
+  org.openecomp.resource.vl.nodes.network.Network:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ForwardingPath:
+    derived_from: tosca.nodes.Root
+    properties:
+      target_range:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          description: Identifier of the reciever port of the VNF or the service
+          type: integer
+      protocol:
+        type: string
+        description: protocol type that runs on the link
+        required: true
+        status: SUPPORTED
+    requirements:
+    - forwarder:
+        capability: org.openecomp.capabilities.Forwarder
+        relationship: org.openecomp.relationships.ForwardsTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.nodes.heat.network.contrail.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.SubInterface:
+    derived_from: tosca.nodes.network.Port
+  org.openecomp.resource.vfc.nodes.heat.contrail.Compute:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the VM
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of active VMs
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: VMs of this compute
+        status: SUPPORTED
+      status:
+        type: string
+        description: status of the compute
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.Port:
+    derived_from: tosca.nodes.network.Port
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        description: Must correlate to the set of defined “network-role�? tag identifiers from the associated HEAT template
+        type: string
+        required: true
+      mac_requirements:
+        description: identifies MAC address assignments to the CP
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+      vlan_requirements:
+        description: identifies vlan address assignments to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+      ip_requirements:
+        description: identifies IP requirements to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+      subinterface_indicator:
+        description: identifies if Port is having Sub Interface
+        type: boolean
+        required: false
+        default: false
+      related_networks:
+        type: list
+        description: Related Networks List.
+        required: false
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+    capabilities:
+      network.incoming.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder:
+        type: org.openecomp.capabilities.Forwarder
+      network.outgoing.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outpoing.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.nodes.VRFEntry:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - routing_configuration_internal:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+    - routing_configuration_external:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+  org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.cp.extCP:
+    derived_from: tosca.nodes.Root
+    description: The SDC Connection Point base type all other CP derive from
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        type: string
+        required: true
+        description: Must correlate to the set of defined “network-role” tag identifiers from the associated HEAT template
+      mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+        description: identifies MAC address assignments to the CP
+      vlan_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+        description: identifies vlan address assignments to the CP
+      ip_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+        description: identifies IP requirements to the CP
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - virtualBinding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+    - external_virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        node: org.openecomp.resource.vl.VL
+    capabilities:
+      internal_connectionPoint:
+        type: tosca.capabilities.Node
+        valid_source_type:
+        - tosca.nodes.network.Port
+  org.openecomp.nodes.FabricConfiguration:
+    derived_from: org.openecomp.nodes.Configuration
+    requirements:
+    - fabric_configuration_monitoring:
+        capability: org.openecomp.capabilities.FabricConfiguration
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      static_routes_list:
+        type: list
+        description: Static routes enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      ordered_interfaces:
+        type: boolean
+        description: Indicates if service interface are ordered
+        required: false
+        default: false
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      service_interface_type_list:
+        type: list
+        description: List of interface types
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - management
+            - left
+            - right
+            - other
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      interface_list:
+        type: list
+        description: List of interfaces
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+      shared_ip_list:
+        type: list
+        description: Shared ips enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the Service Instance
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: The FQ name of the service instance
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service Template of the Service Instance
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of service VMs active for this Service Instance
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: The name of the service instance
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: Service VMs for the Service Instance
+        status: SUPPORTED
+      status:
+        type: string
+        description: Status of the service instance
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.AbstractSubstitute:
+    derived_from: tosca.nodes.Root
+    properties:
+      service_template_filter:
+        type: org.openecomp.datatypes.heat.substitution.SubstitutionFiltering
+        description: Substitution Filter
+        required: true
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.heat.network.neutron.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extNeutronCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+        required: true
+    capabilities:
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.Cp:
+    derived_from: tosca.nodes.Root
+    properties:
+      layer_protocol:
+        type: list
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - ethernet
+            - mpls
+            - odu2
+            - ipv4
+            - ipv6
+            - pseudo_wire
+        required: true
+      role:
+        type: string
+        constraints:
+        - valid_values:
+          - root
+          - leaf
+        required: false
+      description:
+        type: string
+        required: false
+      protocol_data:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.CpProtocolData
+        required: true
+      trunk_mode:
+        type: boolean
+        required: true
+      allowed_address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.nodes.nfv.VnfVirtualLinkDesc:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_flavours:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VlFlavour
+        required: true
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  org.openecomp.resource.vfc.AllottedResource:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+      role:
+        type: string
+        required: true
+        description: Unique label that defines the role that this allotted resource performs
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      target_network_role:
+        type: string
+        required: true
+        description: Target network role
+    requirements:
+    - service_dependency:
+        capability: org.openecomp.capabilities.AllottedResource
+        relationship: tosca.relationships.DependsOn
+        node: tosca.services.Root
+  tosca.nodes.nfv.ext.zte.VDU:
+    derived_from: tosca.nodes.Root
+    properties:
+      manual_scale_select_vim:
+        type: boolean
+        required: false
+      vdu_type:
+        type: string
+        required: false
+      watchdog:
+        type: tosca.datatypes.nfv.ext.zte.WatchDog
+        required: false
+      name:
+        type: string
+        required: false
+      local_affinity_antiaffinity_rule:
+        type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
+        required: false
+      support_scaling:
+        type: boolean
+        required: false
+      storage_policy:
+        type: string
+        required: false
+      key_vdu:
+        type: boolean
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+      inject_data_list:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.InjectData
+    requirements:
+    - guest_os:
+        capability: tosca.capabilities.nfv.ext.GuestOs
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage:
+        capability: tosca.capabilities.nfv.ext.LocalAttachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - volume_storage:
+        capability: tosca.capabilities.Attachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency:
+        capability: tosca.capabilities.Node
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      scalable:
+        type: tosca.capabilities.Scalable
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+      nfv_compute:
+        type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
+      virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+  tosca.nodes.nfv.VDU:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      Virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    properties:
+      bitrate_requirement:
+        type: integer
+        required: false
+      vnic_name:
+        type: string
+        required: false
+      vnic_order:
+        type: integer
+        required: false
+      vnic_type:
+        type: string
+        constraints:
+        - valid_values:
+          - normal
+          - macvtap
+          - direct
+          - baremetal
+          - direct-physical
+          - virtio-forwarder
+        required: false
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+        required: false
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+    - virtual_binding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        relationship: tosca.relationships.nfv.VirtualBindsTo
+        node: tosca.nodes.nfv.Vdu.Compute
+  org.openecomp.resource.vfc.NSD:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      nsd_id:
+        type: string
+        required: true
+        description: ID of the NSD
+      nsd_designer:
+        type: string
+        required: true
+        description: Designer of the NSD
+      nsd_version:
+        type: string
+        required: true
+        description: Version of the NSD
+      nsd_name:
+        type: string
+        required: true
+        description: Name of the NSD
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+        required: true
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+        required: true
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+        required: false
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      user_data:
+        type: string
+        required: false
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+    requirements:
+    - virtual_storage:
+        capability: tosca.capabilities.nfv.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+        node: tosca.nodes.nfv.Vdu.VirtualStorage
+        occurences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.GenericNeutronNet:
+    derived_from: org.openecomp.resource.vl.extVL
+    description: Generic Neutron Network
+    properties:
+      network_role:
+        type: string
+        description: |
+          Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+      network_scope:
+        type: string
+      network_ecomp_naming:
+        type: org.openecomp.datatypes.EcompNaming
+      network_type:
+        type: string
+        description: ECOMP supported network types.
+        default: NEUTRON
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+      network_technology:
+        type: string
+        description: ECOMP supported network technology
+        default: NEUTRON
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      type_of_storage:
+        type: string
+        constraints:
+        - valid_values:
+          - volume
+          - object
+          - root
+          - block
+        required: true
+      size_of_storage:
+        type: scalar-unit.size
+        required: true
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      rdma_enabled:
+        type: boolean
+        required: false
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+  tosca.nodes.nfv.ext.zte.VL:
+    derived_from: tosca.nodes.Root
+    properties:
+      segmentation_id:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      is_predefined:
+        type: boolean
+        required: false
+      mtu:
+        type: integer
+        required: false
+      dns_nameservers:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+      network_id:
+        type: string
+        required: false
+      host_routes:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.HostRouteInfo
+      ip_version:
+        type: integer
+        required: false
+      vendor:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      vlan_transparent:
+        type: boolean
+        required: false
+      cidr:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.ext.LocalStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: string
+        required: false
+      disk_type:
+        type: string
+        required: false
+    capabilities:
+      local_attachment:
+        type: tosca.capabilities.nfv.ext.LocalAttachment
+  tosca.nodes.nfv.ext.zte.CP:
+    derived_from: tosca.nodes.Root
+    properties:
+      guest_os_mtu:
+        type: integer
+        required: false
+      bandwidth:
+        type: integer
+        required: false
+      interface_name:
+        type: string
+        required: false
+      allowed_address_pairs:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.AddressPairs
+      ip_address:
+        type: string
+        required: false
+      bond:
+        type: string
+        required: false
+      proxiedVNFs:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      sfc_encapsulation:
+        type: string
+        required: false
+      floating_ip_address:
+        type: tosca.datatypes.nfv.ext.FloatingIP
+        required: false
+      service_ip_address:
+        required: false
+        type: string
+      mac_address:
+        type: string
+        required: false
+      proxiedVNFtype:
+        type: string
+        required: false
+      macbond:
+        type: string
+        required: false
+      vnic_type:
+        type: string
+        required: false
+      direction:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: false
+    requirements:
+    - forwarder:
+        capability: tosca.capabilities.nfv.Forwarder
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualbinding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualLink:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      forwarder:
+        type: tosca.capabilities.nfv.Forwarder
+  tosca.nodes.nfv.ext.ImageFile:
+    derived_from: tosca.nodes.Root
+    properties:
+      file_url:
+        type: string
+        required: false
+      container_type:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      disk_format:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+    capabilities:
+      guest_os:
+        type: tosca.capabilities.nfv.ext.GuestOs
+      image_fle:
+        type: tosca.capabilities.nfv.ext.ImageFile
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      descriptor_id:
+        type: string
+        required: true
+      descriptor_version:
+        type: string
+        required: true
+      provider:
+        type: string
+        required: true
+      product_name:
+        type: string
+        required: true
+      software_version:
+        type: string
+        required: true
+      product_info_name:
+        type: string
+        required: false
+      product_info_description:
+        type: string
+        required: false
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+        required: true
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      default_localization_language:
+        type: string
+        required: false
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+        required: false
+      modifiable_attributes:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
+        required: false
+      flavour_id:
+        type: string
+        required: true
+      flavour_description:
+        type: string
+        required: true
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Nfv:
+        type: tosca.interfaces.nfv.vnf.lifecycle.Nfv
+  org.openecomp.resource.vl.overlaytunnel:
+    derived_from: tosca.nodes.Root
+    description: This entity represents abstract overlay tunnel end point.
+    properties:
+      id:
+        type: string
+        description: Identifier of the Tunnel Endpoint node.
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      name:
+        type: string
+        description: Overlay tunnel name used by for reference by the administrator.
+        required: false
+      description:
+        type: string
+        description: Additional comments/information about overlay tunnel.
+        required: false
+      tunnelType:
+        type: string
+        constraints:
+        - valid_values:
+          - L3-DCI
+          - L2-DCI
+        description: type defines if the overlay tunnel is L3-DCI tunnel or L2-DCI tunnel.
+        required: true
+      site1_id:
+        type: string
+        description: Identifier of first DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site1_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site1_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site1_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site1_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site1_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site1_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site1_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site1_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site1_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+      site2_id:
+        type: string
+        description: Identifier of second DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site2_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site2_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site2_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site2_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site2_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site2_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site2_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site2_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site2_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.vl.underlayvpn:
+    derived_from: tosca.nodes.Root
+    description: undelay vpn type definitions
+    properties:
+      id:
+        type: string
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      vendor:
+        type: string
+        required: false
+      template_author:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      serviceType:
+        type: string
+        description: type of VPN service
+        required: false
+        default: l3vpn_sptn
+      topology:
+        type: string
+        description: type of VPN topology
+        constraints:
+        - valid_values:
+          - full-mesh
+          - point_to_multipoint
+          - point_to_point
+          - singlePoint
+          - hubspoke
+          - hubspoke_via_hubce
+          - hubspoke_disjoint
+          - ADD_DROP_Z
+        required: false
+        default: full-mesh
+      technology:
+        type: string
+        description: type of VPN technology
+        constraints:
+        - valid_values:
+          - mpls
+          - rosen multivpn
+          - vxlan overlay l3vpn
+          - eth over sdh
+          - vlan
+        required: false
+        default: mpls
+      site1_name:
+        type: string
+        description: name of first site
+        required: false
+      site2_name:
+        type: string
+        description: name of second site
+        required: false
+      sna1_name:
+        type: string
+        description: name of site network accesses associated with the site1
+        required: false
+      sna2_name:
+        type: string
+        description: name of site network accesses associated with the site2
+        required: false
+      pe1_id:
+        type: string
+        description: id of provider edge1, it can be name or ip or uuid
+        required: false
+      pe2_id:
+        type: string
+        description: id of provider edge2, it can be name or ip or uuid
+        required: false
+      ac1_id:
+        type: string
+        description: id of attachment circuit1, it can be port name or uuid
+        required: false
+      ac1_svlan:
+        type: integer
+        description: ac1 svlan
+        required: false
+      ac1_ip:
+        type: string
+        description: ip of ac1, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_peer_ip:
+        type: string
+        description: ip of ac1 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_route:
+        type: string
+        description: route configure of ac1, only for layer3 vpn
+        required: false
+      ac1_protocol:
+        type: string
+        description: routing protocol type of ac1, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        required: false
+      ac1_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac1, , only required for ebgp protocol
+        required: false
+      ac2_id:
+        type: string
+        description: id of attachment circuit2, it can be port name or uuid
+        required: false
+      ac2_svlan:
+        type: integer
+        description: ac2 svlan
+        required: false
+      ac2_ip:
+        type: string
+        description: ip of ac2, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_peer_ip:
+        type: string
+        description: ip of ac2 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_route:
+        type: string
+        description: route configure of ac2, only for layer3 vpn
+        required: false
+      ac2_protocol:
+        type: string
+        description: routing protocol type of ac2, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        default: STATIC
+        required: false
+      ac2_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac2, , only required for ebgp protocol
+        required: false
+      af_type:
+        type: string
+        description: address family type
+        default: ipv4
+        required: false
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
diff --git a/s3p/templates/pciDeviceId/Definitions/policies.yml b/s3p/templates/pciDeviceId/Definitions/policies.yml
new file mode 100644
index 0000000..6063d08
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/policies.yml
@@ -0,0 +1,134 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+policy_types:
+  tosca.policies.Root:
+    description: The TOSCA Policy Type all other TOSCA Policy Types derive from
+  tosca.policies.Placement:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes.
+  tosca.policies.Scaling:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes.
+  tosca.policies.Update:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes.
+  tosca.policies.Performance:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or groups of nodes.
+  org.openecomp.policies.placement.Antilocate:
+    derived_from: tosca.policies.Placement
+    description: My placement policy for separation based upon container type value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      container_type:
+        type: string
+        description: container type
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.Colocate:
+    derived_from: tosca.policies.Placement
+    description: Keep associated nodes (groups of nodes) based upon affinity value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      affinity:
+        type: string
+        description: affinity
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.valet.Diversity:
+    derived_from: tosca.policies.Placement
+    description: Valet Diversity
+    properties:
+      level:
+        type: string
+        description: diversity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Exclusivity:
+    derived_from: tosca.policies.Placement
+    description: Valet Exclusivity
+    properties:
+      level:
+        type: string
+        description: exclusivity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Affinity:
+    derived_from: tosca.policies.Placement
+    description: Valet Affinity
+    properties:
+      level:
+        type: string
+        description: affinity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.scaling.Fixed:
+    derived_from: tosca.policies.Scaling
+    properties:
+      quantity:
+        description: the exact number of instances to keep up
+        type: integer
+        required: true
+  org.openecomp.policies.External:
+    derived_from: tosca.policies.Root
+    description: externally managed policy (for example, type="network assignment", source="Policy Manager", name="route target")
+    properties:
+      source:
+        type: string
+        description: The name of the server that exposes the policy with predefined type and name.
+        required: false
+      type:
+        type: string
+        description: The type (category) of the policy same as it is defined in the source.
+        required: false
+      name:
+        type: string
+        description: The name of the policy, that related to specific type, same as it is defined in the source.
+        required: false
diff --git a/s3p/templates/pciDeviceId/Definitions/relationships.yml b/s3p/templates/pciDeviceId/Definitions/relationships.yml
new file mode 100644
index 0000000..b1b554d
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/relationships.yml
@@ -0,0 +1,142 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- capabilities.yml
+- data.yml
+- interfaces.yml
+relationship_types:
+  tosca.relationships.Root:
+    description: This is the default (root) TOSCA Relationship Type definition that all other TOSCA Relationship Types derive from.
+    attributes:
+      tosca_id:
+        description: A unique identifier of the realized instance of a Relationship Template that derives from any TOSCA normative type.
+        type: string
+      tosca_name:
+        description: This attribute reflects the name of the Relationship Template as defined in the TOSCA service template. This name is not unique to the realized instance model of corresponding deployed application as each template in the model can result in one or more instances (e.g., scaled) when orchestrated to a provider environment.
+        type: string
+      state:
+        description: The state of the relationship instance.
+        type: string
+        default: initial
+    interfaces:
+      Configure:
+        type: tosca.interfaces.relationship.Configure
+  tosca.relationships.RoutesTo:
+    derived_from: tosca.relationships.ConnectsTo
+    description: This type represents an intentional network routing between two Endpoints in different networks.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+  tosca.relationships.network.LinksTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This relationship type represents an association relationship between Port and Network node types.
+    valid_target_types:
+    - tosca.capabilities.network.Linkable
+  tosca.relationships.AttachesTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents an attachment relationship between two nodes. For example, an AttachesTo relationship type would be used for attaching a storage node to a Compute node.
+    valid_target_types:
+    - tosca.capabilities.Attachment
+    properties:
+      location:
+        description: 'The relative location (e.g., path on the file system), which
+          provides the root location to address an attached node. e.g., a mount point
+          / path such as ''/usr/data''. Note: The user must provide it and it cannot
+          be "root".'
+        type: string
+        constraints:
+        - min_length: 1
+      device:
+        description: The logical device name which for the attached device (which is represented by the target node in the model). e.g., '/dev/hda1'.
+        type: string
+        required: false
+    attributes:
+      device:
+        description: 'The logical name of the device as exposed to the instance. Note:
+          A runtime property that gets set when the model gets instantiated by the
+          orchestrator.'
+        type: string
+  tosca.relationships.network.BindsTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This type represents a network association relationship between Port and Compute node types.
+    valid_target_types:
+    - tosca.capabilities.network.Bindable
+  tosca.relationships.HostedOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a hosting relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Container
+  tosca.relationships.DependsOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a general dependency relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Node
+  tosca.relationships.ConnectsTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents a network connection relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+    properties:
+      credential:
+        type: tosca.datatypes.Credential
+        required: false
+  org.openecomp.relationships.VolumeAttachesTo:
+    derived_from: org.openecomp.relationships.AttachesTo
+    description: This type represents an attachment relationship for associating volume
+    properties:
+      volume_id:
+        description: The ID of the volume to be attached
+        type: string
+        status: SUPPORTED
+        required: true
+      instance_uuid:
+        description: The ID of the server to which the volume attaches
+        type: string
+        status: SUPPORTED
+        required: true
+    attributes:
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+  org.openecomp.relationships.AttachesTo:
+    derived_from: tosca.relationships.AttachesTo
+    description: This type represents an attachment relationship
+    properties:
+      location:
+        description: The relative location (e.g., path on the file system), which provides the root location to address an attached node.
+        type: string
+        status: SUPPORTED
+        required: false
+  org.openecomp.relationships.ForwardsTo:
+    derived_from: tosca.relationships.Root
+    valid_target_types:
+    - org.openecomp.capabilities.Forwarder
+  org.openecomp.relationships.AssignsTo:
+    derived_from: tosca.relationships.Root
+  org.openecomp.relationships.RoutesTo:
+    derived_from: tosca.relationships.RoutesTo
+    description: This type represents an intentional network routing between internal and external network
+  tosca.relationships.nfv.VirtualBindsTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualBindable
+  tosca.relationships.nfv.VirtualLinksTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualLinkable
+  tosca.relationships.nfv.Vdu.AttachedTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualStorage
diff --git a/s3p/templates/pciDeviceId/Definitions/resource-VduCompute-template.yml b/s3p/templates/pciDeviceId/Definitions/resource-VduCompute-template.yml
new file mode 100644
index 0000000..546f88a
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/resource-VduCompute-template.yml
@@ -0,0 +1,103 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+  UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+  name: VDU Compute
+  description: VDU Compute
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    description: VDU Compute
+    properties:
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+      name:
+        type: string
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+      description:
+        type: string
+      user_data:
+        type: string
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
diff --git a/s3p/templates/pciDeviceId/Definitions/resource-VduCp-template.yml b/s3p/templates/pciDeviceId/Definitions/resource-VduCp-template.yml
new file mode 100644
index 0000000..ec26637
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/resource-VduCp-template.yml
@@ -0,0 +1,59 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+  UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+  name: VDU Cp
+  description: VDU Cp
+  type: CP
+  category: Generic
+  subcategory: Network Elements
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    description: VDU Cp
+    properties:
+      vnic_name:
+        type: string
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+      bitrate_requirement:
+        type: integer
+      vnic_order:
+        type: integer
+      vnic_type:
+        type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/pciDeviceId/Definitions/resource-VduVirtualstorage-template.yml b/s3p/templates/pciDeviceId/Definitions/resource-VduVirtualstorage-template.yml
new file mode 100644
index 0000000..566f705
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/resource-VduVirtualstorage-template.yml
@@ -0,0 +1,50 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+  UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+  name: VDU VirtualStorage
+  description: VDU VirtualStorage
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    description: VDU VirtualStorage
+    properties:
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+      size_of_storage:
+        type: scalar-unit.size
+      rdma_enabled:
+        type: boolean
+      type_of_storage:
+        type: string
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/pciDeviceId/Definitions/resource-Vgw1181049-template-interface.yml b/s3p/templates/pciDeviceId/Definitions/resource-Vgw1181049-template-interface.yml
new file mode 100644
index 0000000..93cb070
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/resource-Vgw1181049-template-interface.yml
@@ -0,0 +1,208 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.resource.vf.Vgw1181049:
+    derived_from: org.openecomp.resource.abstract.nodes.VF
+    properties:
+      nf_naming:
+        default:
+          ecomp_generated_naming: true
+        type: org.openecomp.datatypes.Naming
+        required: false
+      multi_stage_design:
+        default: false
+        type: boolean
+        required: false
+      nf_function:
+        type: string
+        required: false
+      nf_naming_code:
+        type: string
+        required: false
+      availability_zone_max_count:
+        default: 1
+        type: integer
+        required: false
+      nf_role:
+        type: string
+        required: false
+      min_instances:
+        type: integer
+        required: false
+      max_instances:
+        type: integer
+        required: false
+      nf_type:
+        type: string
+        required: false
+    capabilities:
+      vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/pciDeviceId/Definitions/resource-Vgw1181049-template.yml b/s3p/templates/pciDeviceId/Definitions/resource-Vgw1181049-template.yml
new file mode 100644
index 0000000..edb4ba1
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/resource-Vgw1181049-template.yml
@@ -0,0 +1,289 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+  UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+  name: ##RANDOM_RESOURCE_NAME##
+  description: test
+  type: VF
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: vendor
+  resourceVendorRelease: '1.0'
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+- resource-VNF:
+    file: resource-Vnf-template.yml
+- resource-VnfVirtualLink:
+    file: resource-Vnfvirtuallink-template.yml
+- resource-VDU Cp:
+    file: resource-VduCp-template.yml
+- resource-VDU VirtualStorage:
+    file: resource-VduVirtualstorage-template.yml
+- resource-VDU Compute:
+    file: resource-VduCompute-template.yml
+topology_template:
+  inputs:
+    nf_naming:
+      default:
+        ecomp_generated_naming: true
+      type: org.openecomp.datatypes.Naming
+      required: false
+    multi_stage_design:
+      default: false
+      type: boolean
+      required: false
+    nf_function:
+      type: string
+      required: false
+    nf_naming_code:
+      type: string
+      required: false
+    availability_zone_max_count:
+      default: 1
+      type: integer
+      required: false
+    nf_role:
+      type: string
+      required: false
+    min_instances:
+      type: integer
+      required: false
+    max_instances:
+      type: integer
+      required: false
+    nf_type:
+      type: string
+      required: false
+  node_templates:
+    LLU_VNF:
+      type: tosca.nodes.nfv.VNF
+      metadata:
+        invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+        UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+        customizationUUID: 06bffc87-30c7-42ad-b99d-19c6c13405dc
+        version: '1.0'
+        name: VNF
+        description: VNF
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        descriptor_id: b1bb0ce7-2222-4fa7-95ed-4840d70a1177
+        provider: onap
+        vnfm_info:
+        - gvnfm
+        flavour_id: simple
+        descriptor_version: '1.0'
+        software_version: '1.0'
+        flavour_description: simple
+        product_name: vcpe_vgw
+    VL_mux_gw_private_net:
+      type: tosca.nodes.nfv.VnfVirtualLink
+      metadata:
+        invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+        UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+        customizationUUID: fbea54ef-8f8b-4f35-81d6-997a47282698
+        version: '1.0'
+        name: VnfVirtualLink
+        description: VnfVirtualLink
+        type: VL
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        vl_profile:
+          min_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          max_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          networkName: mux_gw_private_net_id
+          cidr: 192.168.0.0/24
+          dhcpEnabled: false
+        connectivity_type:
+          layer_protocol: ipv4
+    VDU_vgw_0:
+      type: tosca.nodes.nfv.Vdu.Compute
+      metadata:
+        invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+        UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+        customizationUUID: 93c3f2e3-67e7-4bb4-be11-8a48df924c4c
+        version: '1.0'
+        name: VDU Compute
+        description: VDU Compute
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        configurable_properties:
+          additional_vnfc_configurable_properties: {
+            }
+        name: vdu_vgw_0
+        description: vgw
+        vdu_profile:
+          watchdog: none
+          min_number_of_instances: 1
+          max_number_of_instances: 1
+      requirements:
+      - virtual_storage:
+          capability: virtual_storage
+          node: VirtualStorage_root_all
+      capabilities:
+        virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+    VirtualStorage_root_all:
+      type: tosca.nodes.nfv.Vdu.VirtualStorage
+      metadata:
+        invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+        UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+        customizationUUID: dc20e1ad-aed9-4154-b2b4-3a702eee49a7
+        version: '1.0'
+        name: VDU VirtualStorage
+        description: VDU VirtualStorage
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        size_of_storage: 40 GB
+        type_of_storage: root
+    Cp_vgw_mux_gw_private_net:
+      type: tosca.nodes.nfv.VduCp
+      metadata:
+        invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+        UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+        customizationUUID: b5ff315f-effc-46e9-a0c5-aec1954845e0
+        version: '1.0'
+        name: VDU Cp
+        description: VDU Cp
+        type: CP
+        category: Generic
+        subcategory: Network Elements
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        trunk_mode: false
+        protocol_data:
+        - asscociated_layer_protocol: ipv4
+          address_data:
+            address_type: ip_address
+            l3_address_data:
+              fixed_ip_address:
+              - 192.168.0.1
+              ip_address_assignment: false
+              floating_ip_activated: false
+        layer_protocol:
+        - ipv4
+        virtual_network_interface_requirements:
+        - name: "sriov-support"
+          support_mandatory: true
+          # Uncomment when POLICY-1254 fixed
+          #network_interface_requirements:
+          #  interfaceType: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform":"generic", "mandatory": "true", "configurationValue": "PCI-Passthrough"}'
+          nic_io_requirements:
+            logical_node_requirements:
+              pciDeviceId: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform": "generic", "mandatory": "true", "configurationValue": "5678"}'
+      requirements:
+      - virtual_link:
+          capability: virtual_linkable
+          node: VL_mux_gw_private_net
+      - virtual_binding:
+          capability: virtual_binding
+          node: VDU_vgw_0
+  substitution_mappings:
+    node_type: org.openecomp.resource.vf.Vgw1181049
+    capabilities:
+      vl_mux_gw_private_net.feature:
+      - vl_mux_gw_private_net
+      - feature
+      cp_vgw_mux_gw_private_net.feature:
+      - cp_vgw_mux_gw_private_net
+      - feature
+      vdu_vgw_0.virtual_compute:
+      - vdu_vgw_0
+      - virtual_compute
+      vdu_vgw_0.virtual_binding:
+      - vdu_vgw_0
+      - virtual_binding
+      virtualstorage_root_all.virtual_storage:
+      - virtualstorage_root_all
+      - virtual_storage
+      llu_vnf.feature:
+      - llu_vnf
+      - feature
+      vl_mux_gw_private_net.virtual_linkable:
+      - vl_mux_gw_private_net
+      - virtual_linkable
+      vl_mux_gw_private_net.monitoring_parameter:
+      - vl_mux_gw_private_net
+      - monitoring_parameter
+      vdu_vgw_0.monitoring_parameter:
+      - vdu_vgw_0
+      - monitoring_parameter
+      virtualstorage_root_all.feature:
+      - virtualstorage_root_all
+      - feature
+      vdu_vgw_0.feature:
+      - vdu_vgw_0
+      - feature
+    requirements:
+      vdu_vgw_0.virtual_storage:
+      - vdu_vgw_0
+      - virtual_storage
+      vl_mux_gw_private_net.dependency:
+      - vl_mux_gw_private_net
+      - dependency
+      virtualstorage_root_all.dependency:
+      - virtualstorage_root_all
+      - dependency
+      vdu_vgw_0.dependency:
+      - vdu_vgw_0
+      - dependency
+      cp_vgw_mux_gw_private_net.virtual_binding:
+      - cp_vgw_mux_gw_private_net
+      - virtual_binding
+      cp_vgw_mux_gw_private_net.dependency:
+      - cp_vgw_mux_gw_private_net
+      - dependency
+      llu_vnf.dependency:
+      - llu_vnf
+      - dependency
+      llu_vnf.virtual_link:
+      - llu_vnf
+      - virtual_link
+      cp_vgw_mux_gw_private_net.virtual_link:
+      - cp_vgw_mux_gw_private_net
+      - virtual_link
diff --git a/s3p/templates/pciDeviceId/Definitions/resource-Vnf-template.yml b/s3p/templates/pciDeviceId/Definitions/resource-Vnf-template.yml
new file mode 100644
index 0000000..121aba2
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/resource-Vnf-template.yml
@@ -0,0 +1,70 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+  UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+  name: VNF
+  description: VNF
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    description: VNF
+    properties:
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+      product_info_name:
+        type: string
+      default_localization_language:
+        type: string
+      flavour_id:
+        type: string
+      flavour_description:
+        type: string
+      product_name:
+        type: string
+      descriptor_id:
+        type: string
+      product_info_description:
+        type: string
+      provider:
+        type: string
+      descriptor_version:
+        type: string
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+      software_version:
+        type: string
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
diff --git a/s3p/templates/pciDeviceId/Definitions/resource-Vnfvirtuallink-template.yml b/s3p/templates/pciDeviceId/Definitions/resource-Vnfvirtuallink-template.yml
new file mode 100644
index 0000000..d39b1b3
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/resource-Vnfvirtuallink-template.yml
@@ -0,0 +1,57 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+  UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+  name: VnfVirtualLink
+  description: VnfVirtualLink
+  type: VL
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    description: VnfVirtualLink
+    properties:
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+      description:
+        type: string
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/pciDeviceId/Definitions/service-Testns8-template-interface.yml b/s3p/templates/pciDeviceId/Definitions/service-Testns8-template-interface.yml
new file mode 100644
index 0000000..45fc306
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/service-Testns8-template-interface.yml
@@ -0,0 +1,176 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.service.Testns8:
+    derived_from: org.openecomp.resource.abstract.nodes.service
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+    requirements:
+    - vgw11810490.llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - vgw11810490.llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/pciDeviceId/Definitions/service-Testns8-template.yml b/s3p/templates/pciDeviceId/Definitions/service-Testns8-template.yml
new file mode 100644
index 0000000..9d9bdc3
--- /dev/null
+++ b/s3p/templates/pciDeviceId/Definitions/service-Testns8-template.yml
@@ -0,0 +1,135 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 5be056bd-1ecd-4c14-9465-3bbc994190ee
+  UUID: 188ed3c6-1573-4b2d-9d3f-a03693bed79b
+  name: TestNs8
+  description: test
+  type: Service
+  category: Network Service
+  serviceType: ''
+  serviceRole: ''
+  instantiationType: A-la-carte
+  serviceEcompNaming: true
+  ecompGeneratedNaming: true
+  namingPolicy: ''
+  environmentContext: General_Revenue-Bearing
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- service-TestNs8-interface:
+    file: service-Testns8-template-interface.yml
+- resource-vgw1181049:
+    file: resource-Vgw1181049-template.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+topology_template:
+  node_templates:
+    vgw1181049 0:
+      type: org.openecomp.resource.vf.Vgw1181049
+      metadata:
+        invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+        UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+        customizationUUID: 32efc3ac-6fd2-4cda-9f15-592e54f41560
+        version: '1.0'
+        name: ##RANDOM_RESOURCE_NAME##
+        description: test
+        type: VF
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: vendor
+        resourceVendorRelease: '1.0'
+        resourceVendorModelNumber: ''
+      properties:
+        nf_naming:
+          ecomp_generated_naming: true
+        multi_stage_design: false
+        availability_zone_max_count: 1
+      capabilities:
+        vdu_vgw_0.virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+              vdu_memory_requirements:
+                numberOfPages: '{"schemaVersion": "0","schemaSelector": "","hardwarePlatform":
+                  "generic","mandatory": "true", "configurationValue": "1024"}'
+                memoryPageSize: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform":
+                  "generic", "mandatory": "true", "configurationValue": "2 MB"}'
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+  substitution_mappings:
+    node_type: org.openecomp.service.Testns8
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+      - vgw11810490
+      - virtualstorage_root_all.virtual_storage
+      vgw11810490.llu_vnf.feature:
+      - vgw11810490
+      - llu_vnf.feature
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+      - vgw11810490
+      - vdu_vgw_0.monitoring_parameter
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+      - vgw11810490
+      - vl_mux_gw_private_net.monitoring_parameter
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.feature
+      vgw11810490.vl_mux_gw_private_net.feature:
+      - vgw11810490
+      - vl_mux_gw_private_net.feature
+      vgw11810490.vdu_vgw_0.feature:
+      - vgw11810490
+      - vdu_vgw_0.feature
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+      - vgw11810490
+      - vl_mux_gw_private_net.virtual_linkable
+      vgw11810490.vdu_vgw_0.virtual_binding:
+      - vgw11810490
+      - vdu_vgw_0.virtual_binding
+      vgw11810490.virtualstorage_root_all.feature:
+      - vgw11810490
+      - virtualstorage_root_all.feature
+      vgw11810490.vdu_vgw_0.virtual_compute:
+      - vgw11810490
+      - vdu_vgw_0.virtual_compute
+    requirements:
+      vgw11810490.vdu_vgw_0.virtual_storage:
+      - vgw11810490
+      - vdu_vgw_0.virtual_storage
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_link
+      vgw11810490.llu_vnf.dependency:
+      - vgw11810490
+      - llu_vnf.dependency
+      vgw11810490.virtualstorage_root_all.dependency:
+      - vgw11810490
+      - virtualstorage_root_all.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.dependency
+      vgw11810490.llu_vnf.virtual_link:
+      - vgw11810490
+      - llu_vnf.virtual_link
+      vgw11810490.vl_mux_gw_private_net.dependency:
+      - vgw11810490
+      - vl_mux_gw_private_net.dependency
+      vgw11810490.vdu_vgw_0.dependency:
+      - vgw11810490
+      - vdu_vgw_0.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_binding
diff --git a/s3p/templates/pciDeviceId/TOSCA-Metadata/TOSCA.meta b/s3p/templates/pciDeviceId/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000..e65ed50
--- /dev/null
+++ b/s3p/templates/pciDeviceId/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,7 @@
+TOSCA-Meta-File-Version: 1.0
+CSAR-Version: 1.1
+Created-By: Carlos Santana
+Entry-Definitions: Definitions/service-Testns8-template.yml
+
+Name: csar.meta
+Content-Type: text/plain
diff --git a/s3p/templates/pciDeviceId/csar.meta b/s3p/templates/pciDeviceId/csar.meta
new file mode 100644
index 0000000..bc3359c
--- /dev/null
+++ b/s3p/templates/pciDeviceId/csar.meta
@@ -0,0 +1,2 @@
+SDC-TOSCA-Meta-File-Version: 1.0
+SDC-TOSCA-Definitions-Version: 9.0
diff --git a/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
new file mode 100644
index 0000000..6059757
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAxsekiqwLgs9VfChnr2bnpLC3VqD1iT+s969vWe05j1RDozPu
+zyD3krNgVUcd65x2QQJWrDK2fnyQUtubbPb3wviLXs0Gof4a/b65JsMQkeeC2/OK
+aFvrE6D3heouXmWO1vo1iXy2hUhcfXdr6eM3rP3zpU9zb2Al25/90Ha8kKBpe1RS
+PKHpmcqVXIpGVxJSXnioAFXUsJ687qrTv7Zm13AHkm2L1Y5IvMsGHLFjFTGFlFoY
+ftQQAepF507CFqs66tD378vvNVg8LYqrKpnfdx2PIRNLHAa1xQWc0EvwGHyBQZRL
+hTXS3M3IZ7Y22dJ+3Zg15PMx7QmWDZO5MG/JPwIDAQABAoIBAE5KS1AiutXmezDP
+aSb4TLvcrhj8hDhuT92txxmQCV+ePJWG2sPRpDCvXX246NvnX9vy49gmkSH4RY+c
+1vZvvt2XrqzD65zZzB+sgpf1tA0DNdMTdKvtqASvHU4tEd4z+bJKEdP4vpp4CZWQ
+93vC9ia4TsIJLNns8Hwz42+7lEEResKYZA2djGnzHl+83vR1dm0GGBD6BKR1C3Cx
+HbEhqx42EV61+8nAweQNjWKxeAc2hg+H8o8qWJM1aKy0TnqW6kudOYRyYIpX0rJA
+siE2HwvDA1mDd5M8ntZ/Cx0pnTc/cuZB8BQJ0jN1JXbrJGbWspBNXformw7isbyO
+WIOjvEECgYEA84XKV3aPrTE2JBs5vzzs59NMPV+5frw+xzDyPxqK5Q7+jjVKDwxh
+/WRatCaTdRxhOI905HfVsDYjrsPOpmF9MHsLxmBhwk8zBFOu/xtYr7zBNkJhmCsq
+kZMdxf8bpu08E7kMQJ2MvT7OhM5HRlWIUR0jdja8Hz51Ro4oOb/po7kCgYEA0Pb5
+v12ZsaSHMF0r4l983PifNwYmI22iQIEtRT2DxgTkDKgBTjbRzqZmEhaADMAO48o9
+sIZy+KJ/a8G9fPQVwMgBID8zOHnWsrFmM3qkj5hhrAQdtq7OE71zgaP0tyE1TG4u
+Zs3a7eSyuoildHHFqX88oXSYsTlfV8vn23UpwLcCgYEAwXiCuBger8dQL0FeEJwz
+zz5k7MG3WoPuEEzHuPC6dp8CCDM4IlqBI1JuaX/YWQtyBgCbKsQ2BigNE1THQhJj
+5ndrdHCwWjKX4pElj9HHFN+OVTBJ3x40VLGfzuUNsAH8X+L9Y/yHivZyFrrXj352
+rZLL0KhNrzjs7WAVf0QEOCkCgYBe2s1xnZZnueyX+qMyBfBTChST0Jm9WUXejAS1
+un+3gn7Wc+jrzRyd9pC8wzPrFb9sjWBFYjKMRI8cpfxS3SWGtgM01Rt2FnBr+vUO
+hyxt9ljX0aJ/S4hGE6h7/6XU/yEHibhMeENZ24d5/w9D9WUpVJV8IMYzJHzwCKI9
+z0hdrwKBgQDMKvY3DBpZjhZe9YnOgdj4SRpNwaasUSf3a3SZYY1JyOZVUzeSSzoX
+rYLfxBRDjkJ8Nnod+nR/JSRqYa/SJYEMZEZFsC+k/pvBiaP6tk694IlpLD/2MXN6
+14FUV5LH/rGSbZJMSfZ9yNX1XZDowH8nOu+qlmlU4lmgiOuityTmtw==
+-----END RSA PRIVATE KEY-----
diff --git a/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
new file mode 100644
index 0000000..f31d15d
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
@@ -0,0 +1 @@
+ubuntu_16.04
diff --git a/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
new file mode 100644
index 0000000..c49c2c6
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
@@ -0,0 +1 @@
+<vendor-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><entitlement-pool-list><entitlement-pool><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><version>1.0</version><name>entitlement pool</name><description/><increments/><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><version>1.0</version><name>license key</name><description/><type>Universal</type><increments/><manufacturerReferenceNumber/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list></vendor-license-model>
\ No newline at end of file
diff --git a/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
new file mode 100644
index 0000000..db573af
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
@@ -0,0 +1 @@
+<vf-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><vf-id>2455e00dddf84eedaaed6eb412d39a7e</vf-id><feature-group-list><feature-group><entitlement-pool-list><entitlement-pool><name>entitlement pool</name><description/><increments/><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><name>license key</name><description/><type>Universal</type><increments/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><manufacturer-reference-number/><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list><name>feature group</name><feature-group-uuid>d3780d334c4c42d38c7ab1ec23a65cfd</feature-group-uuid><part-number>4444</part-number><description/></feature-group></feature-group-list></vf-license-model>
\ No newline at end of file
diff --git a/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
new file mode 100644
index 0000000..f08e56f
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
@@ -0,0 +1,29 @@
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
+
+
+1.    VSP Details: 
+    a.    Name: vgw1181049
+    b.    Description test
+    c.    Version: 0.0
+    d.    Vendor: vendor
+    e.    Category: resourceNewCategory.generic
+    f.    License Details: 
+        i.    License Model Version: 0.0
+        ii.    License Agreement Name: b24b9792f0ec4e72818387a230acec5a
+        iii    List of Feature Groups: 
+            1.    d3780d334c4c42d38c7ab1ec23a65cfd
+    g.    High Availability 
+    h.    Storage Data Back-up Details: 
+        i.    Data Replication Required?: false
+        ii.    	Data Size to replicate in GB: null
+        iii.    Data replication frequency: null
+        iv.    Replication Source: null
+        v.    Replication Destination: null
+    3.    List of VFCs 
+        a.    For each VFC: 
+
+
+
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
\ No newline at end of file
diff --git a/s3p/templates/pciNumDevices/Definitions/annotations.yml b/s3p/templates/pciNumDevices/Definitions/annotations.yml
new file mode 100644
index 0000000..2f14606
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/annotations.yml
@@ -0,0 +1,30 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+annotation_types:
+  org.openecomp.annotations.Source:
+    description: Indicates the origin source of an input
+    properties:
+      source_type:
+        type: string
+      vf_module_label:
+        type: list
+        description: List of VF Modules this input was originated from
+        entry_schema:
+          type: string
+      param_name:
+        type: string
+        description: Source parameter name
diff --git a/s3p/templates/pciNumDevices/Definitions/artifacts.yml b/s3p/templates/pciNumDevices/Definitions/artifacts.yml
new file mode 100644
index 0000000..175615c
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/artifacts.yml
@@ -0,0 +1,42 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+artifact_types:
+  tosca.artifacts.Root:
+    description: This is the default (root) TOSCA Artifact Type definition that all other TOSCA base Artifact Types derive from.
+  tosca.artifacts.Deployment.Image:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact type represents a parent type for any "image" which is an opaque packaging of a TOSCA Node's deployment (whether real or virtual) whose contents are typically already installed and pre-configured (i.e., "stateful") and prepared to be run on a known target container.
+  tosca.artifacts.Implementation.Bash:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Bash script type that contains Bash commands that can be executed on the Unix Bash shell.
+  tosca.artifacts.Deployment.Image.VM:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact represents the parent type for all Virtual Machine (VM) image and container formatted deployment artifacts. These images contain a stateful capture of a machine (e.g., server) including operating system and installed software along with any configurations and can be run on another machine using a hypervisor which virtualizes typical server (i.e., hardware) resources.
+  tosca.artifacts.Implementation.Python:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Python file that contains Python language constructs that can be executed within a Python interpreter.
+  tosca.artifacts.Deployment:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all deployment artifacts in TOSCA. This class of artifacts typically represents a binary packaging of an application or service that is used to install/create or deploy it as part of a node's lifecycle.
+  tosca.artifacts.File:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type is used when an artifact definition needs to have its associated file simply treated as a file and no special handling/handlers are invoked (i.e., it is not treated as either an implementation or deployment artifact type).
+  tosca.artifacts.Implementation:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all implementation artifacts in TOSCA. These artifacts are used to implement operations of TOSCA interfaces either directly (e.g., scripts) or indirectly (e.g., config. files).
+  tosca.artifacts.nfv.SwImage:
+    derived_from: tosca.artifacts.Deployment.Image
diff --git a/s3p/templates/pciNumDevices/Definitions/capabilities.yml b/s3p/templates/pciNumDevices/Definitions/capabilities.yml
new file mode 100644
index 0000000..734c201
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/capabilities.yml
@@ -0,0 +1,293 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+capability_types:
+  tosca.capabilities.Root:
+    description: The TOSCA root Capability Type all other TOSCA base Capability Types derive from
+  tosca.capabilities.Attachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Node:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Container:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: integer
+        required: false
+        constraints:
+        - greater_or_equal: 1
+      cpu_frequency:
+        type: scalar-unit.frequency
+        required: false
+        constraints:
+        - greater_or_equal: 0.1 GHz
+      disk_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+      mem_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+  org.openecomp.capabilities.PortMirroring:
+    derived_from: tosca.capabilities.Root
+    properties:
+      connection_point:
+        type: org.openecomp.datatypes.PortMirroringConnectionPointDescription
+  tosca.capabilities.Endpoint:
+    derived_from: tosca.capabilities.Root
+    properties:
+      protocol:
+        type: string
+        default: tcp
+      port:
+        type: PortDef
+        required: false
+      secure:
+        type: boolean
+        default: false
+      url_path:
+        type: string
+        required: false
+      port_name:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+        default: PRIVATE
+      initiator:
+        type: string
+        default: source
+        constraints:
+        - valid_values:
+          - source
+          - target
+          - peer
+      ports:
+        type: map
+        required: false
+        constraints:
+        - min_length: 1
+        entry_schema:
+          type: PortSpec
+    attributes:
+      ip_address:
+        type: string
+  tosca.capabilities.DatabaseEndpoint:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.Endpoint.Public:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      network_name: PUBLIC
+      floating:
+        description: |
+          indicates that the public address should be allocated from a pool of floating IPs that are associated with the network.
+        type: boolean
+        default: false
+        status: experimental
+      dns_name:
+        description: The optional name to register with DNS
+        type: string
+        required: false
+        status: experimental
+  tosca.capabilities.Endpoint.Admin:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      secure: true
+  tosca.capabilities.Endpoint.Database:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.OperatingSystem:
+    derived_from: tosca.capabilities.Root
+    properties:
+      architecture:
+        type: string
+        required: false
+      type:
+        type: string
+        required: false
+      distribution:
+        type: string
+        required: false
+      version:
+        type: version
+        required: false
+  tosca.capabilities.Scalable:
+    derived_from: tosca.capabilities.Root
+    properties:
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      default_instances:
+        type: integer
+  tosca.capabilities.network.Bindable:
+    derived_from: tosca.capabilities.Node
+  tosca.capabilities.Container.Docker:
+    derived_from: tosca.capabilities.Container
+    properties:
+      version:
+        type: list
+        required: false
+        entry_schema: version
+      publish_all:
+        type: boolean
+        default: false
+        required: false
+      publish_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      expose_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      volumes:
+        type: list
+        entry_schema: string
+        required: false
+  tosca.capabilities.network.Linkable:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.AllottedResource:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Metric:
+    derived_from: tosca.capabilities.Endpoint
+  org.openecomp.capabilities.Metric:
+    derived_from: tosca.capabilities.nfv.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored.
+    properties:
+      unit:
+        type: string
+        description: Unit of the metric value
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: Description of the metric
+        required: false
+        status: SUPPORTED
+      type:
+        type: string
+        description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+        required: true
+        status: SUPPORTED
+      category:
+        type: string
+        description: Category of the metric, for an example, compute, disk, network, storage and etc.
+        required: false
+        status: SUPPORTED
+    attributes:
+      value:
+        type: string
+        description: Runtime monitored value
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.Ceilometer:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+    properties:
+      name:
+        type: string
+        description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpPolling:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp polling.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpTrap:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp trap.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.Forwarder:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.VLANAssignment:
+    derived_from: tosca.capabilities.Root
+    description: ability to expose routing information of the internal network
+    properties:
+      vfc_instance_group_reference:
+        type: string
+        description: Ability to recognize capability per vfc instance group on vnf instance
+        required: true
+  org.openecomp.capabilities.RoutingConfiguration:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.FabricConfiguration:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualStorage:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualCompute:
+    derived_from: tosca.capabilities.Root
+    properties:
+      logical_node:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+      compute_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      requested_additional_capabilities:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.RequestedAdditionalCapability
+        required: false
+      virtual_memory:
+        type: tosca.datatypes.nfv.VirtualMemory
+        required: true
+      virtual_cpu:
+        type: tosca.datatypes.nfv.VirtualCpu
+        required: true
+  tosca.capabilities.nfv.VirtualBindable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ExtVirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Forwarder:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.GuestOs:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.ImageFile:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.LocalAttachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.Compute.Container.Architecture:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: string
+        required: false
+      flavor_extra_specs:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      mem_size:
+        type: string
+        required: false
diff --git a/s3p/templates/pciNumDevices/Definitions/data.yml b/s3p/templates/pciNumDevices/Definitions/data.yml
new file mode 100644
index 0000000..0ff7179
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/data.yml
@@ -0,0 +1,1733 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+data_types:
+  tosca.datatypes.Root:
+    description: The TOSCA root Data Type all other TOSCA base Data Types derive from
+  integer:
+    derived_from: tosca.datatypes.Root
+  string:
+    derived_from: tosca.datatypes.Root
+  boolean:
+    derived_from: tosca.datatypes.Root
+  float:
+    derived_from: tosca.datatypes.Root
+  list:
+    derived_from: tosca.datatypes.Root
+  map:
+    derived_from: tosca.datatypes.Root
+  json:
+    derived_from: tosca.datatypes.Root
+  scalar-unit:
+    derived_from: tosca.datatypes.Root
+  scalar-unit.size:
+    derived_from: scalar-unit
+  scalar-unit.time:
+    derived_from: scalar-unit
+  scalar-unit.frequency:
+    derived_from: scalar-unit
+  tosca.datatypes.Credential:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: false
+      token_type:
+        type: string
+        default: password
+      token:
+        type: string
+      keys:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      user:
+        type: string
+        required: false
+  org.openecomp.datatypes.PortMirroringConnectionPointDescription:
+    derived_from: tosca.datatypes.Root
+    properties:
+      nf_naming_code:
+        type: string
+      nfc_naming_code:
+        type: string
+      network_role:
+        type: string
+      pps_capacity:
+        type: string
+      nf_type:
+        type: string
+        description: deprecated
+      nfc_type:
+        type: string
+        description: deprecated
+  tosca.datatypes.TimeInterval:
+    derived_from: tosca.datatypes.Root
+    properties:
+      start_time:
+        type: timestamp
+        required: true
+      end_time:
+        type: timestamp
+        required: true
+  tosca.datatypes.network.NetworkInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      network_name:
+        type: string
+      network_id:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      port_name:
+        type: string
+      port_id:
+        type: string
+      network_id:
+        type: string
+      mac_address:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortDef:
+    derived_from: integer
+    constraints:
+    - in_range:
+      - 1
+      - 65535
+  tosca.datatypes.network.PortSpec:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: true
+        default: tcp
+        constraints:
+        - valid_values:
+          - udp
+          - tcp
+          - igmp
+      target:
+        type: tosca.datatypes.network.PortDef
+      target_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+      source:
+        type: tosca.datatypes.network.PortDef
+      source_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+  org.openecomp.datatypes.heat.network.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: MAC/IP address pairs
+    properties:
+      mac_address:
+        type: string
+        description: MAC address
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.subnet.HostRoute:
+    derived_from: tosca.datatypes.Root
+    description: Host route info for the subnet
+    properties:
+      destination:
+        type: string
+        description: The destination for static route
+        required: false
+        status: SUPPORTED
+      nexthop:
+        type: string
+        description: The next hop for the destination
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.AllocationPool:
+    derived_from: tosca.datatypes.Root
+    description: The start and end addresses for the allocation pool
+    properties:
+      start:
+        type: string
+        description: Start address for the allocation pool
+        required: false
+        status: SUPPORTED
+      end:
+        type: string
+        description: End address for the allocation pool
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.Subnet:
+    derived_from: tosca.datatypes.Root
+    description: A subnet represents an IP address block that can be used for assigning IP addresses to virtual instances
+    properties:
+      tenant_id:
+        type: string
+        description: The ID of the tenant who owns the network
+        required: false
+        status: SUPPORTED
+      enable_dhcp:
+        type: boolean
+        description: Set to true if DHCP is enabled and false if DHCP is disabled
+        required: false
+        default: true
+        status: SUPPORTED
+      ipv6_address_mode:
+        type: string
+        description: IPv6 address mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      ipv6_ra_mode:
+        type: string
+        description: IPv6 RA (Router Advertisement) mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      allocation_pools:
+        type: list
+        description: The start and end addresses for the allocation pools
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AllocationPool
+      subnetpool:
+        type: string
+        description: The name or ID of the subnet pool
+        required: false
+        status: SUPPORTED
+      dns_nameservers:
+        type: list
+        description: A specified set of DNS name servers to be used
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      host_routes:
+        type: list
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.subnet.HostRoute
+      ip_version:
+        type: integer
+        description: The gateway IP address
+        required: false
+        default: 4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - '4'
+          - '6'
+      name:
+        type: string
+        description: The name of the subnet
+        required: false
+        status: SUPPORTED
+      prefixlen:
+        type: integer
+        description: Prefix length for subnet allocation from subnet pool
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      cidr:
+        type: string
+        description: The CIDR
+        required: false
+        status: SUPPORTED
+      gateway_ip:
+        type: string
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.novaServer.network.PortExtraProperties:
+    derived_from: tosca.datatypes.Root
+    description: Nova server network expand properties for port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the port
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: The administrative state of this port
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this port
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.novaServer.network.AddressInfo:
+    derived_from: tosca.datatypes.network.NetworkInfo
+    description: Network addresses with corresponding port id
+    properties:
+      port_id:
+        type: string
+        description: Port id
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.neutron.port.FixedIps:
+    derived_from: tosca.datatypes.Root
+    description: subnet/ip_address
+    properties:
+      subnet:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address desired in the subnet for this port
+        required: false
+        status: SUPPORTED
+      subnet_id:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.FileInfo:
+    derived_from: tosca.datatypes.Root
+    description: Heat File Info
+    properties:
+      file:
+        type: string
+        description: The required URI string (relative or absolute) which can be used to locate the file
+        required: true
+        status: SUPPORTED
+      file_type:
+        type: string
+        description: The type of the file
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - base
+          - env
+          - volume
+          - network
+  org.openecomp.datatypes.heat.contrail.network.rule.PortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source and destination port pairs
+    properties:
+      start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      apply_service:
+        type: string
+        description: Service to apply
+        required: false
+        status: SUPPORTED
+      dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.Rule
+  org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source and destination addresses
+    properties:
+      virtual_network:
+        type: string
+        description: Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule:
+    derived_from: tosca.datatypes.Root
+    description: Rules Pairs
+    properties:
+      remote_group_id:
+        type: string
+        description: The remote group ID to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      protocol:
+        type: string
+        description: The protocol that is matched by the security group rule
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - tcp
+          - udp
+          - icmp
+      ethertype:
+        type: string
+        description: Ethertype of the traffic
+        required: false
+        default: IPv4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - IPv4
+          - IPv6
+      port_range_max:
+        type: integer
+        description: 'The maximum port number in the range that is matched by the
+          security group rule. '
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+      remote_ip_prefix:
+        type: string
+        description: The remote IP prefix (CIDR) to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      remote_mode:
+        type: string
+        description: Whether to specify a remote group or a remote IP prefix
+        required: false
+        default: remote_ip_prefix
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - remote_ip_prefix
+          - remote_group_id
+      direction:
+        type: string
+        description: The direction in which the security group rule is applied
+        required: false
+        default: ingress
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - egress
+          - ingress
+      port_range_min:
+        type: integer
+        description: The minimum port number in the range that is matched by the security group rule.
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+  org.openecomp.datatypes.heat.substitution.SubstitutionFiltering:
+    derived_from: tosca.datatypes.Root
+    description: Substitution Filter
+    properties:
+      substitute_service_template:
+        type: string
+        description: Substitute Service Template
+        required: true
+        status: SUPPORTED
+      index_value:
+        type: integer
+        description: Index value of the substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      count:
+        type: string
+        description: Count
+        required: false
+        default: 1
+        status: SUPPORTED
+      scaling_enabled:
+        type: boolean
+        description: Indicates whether service scaling is enabled
+        required: false
+        default: true
+        status: SUPPORTED
+      mandatory:
+        type: boolean
+        description: Mandatory
+        required: false
+        default: true
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data sequence
+    properties:
+      network_policy_refs_data_sequence_major:
+        type: integer
+        description: Network Policy ref data sequence Major
+        required: false
+        status: SUPPORTED
+      network_policy_refs_data_sequence_minor:
+        type: integer
+        description: Network Policy ref data sequence Minor
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data
+    properties:
+      network_policy_refs_data_sequence:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence
+        description: Network Policy ref data sequence
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix len
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet List
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_addr_from_start:
+        type: string
+        description: Network ipam refs data ipam subnets addr from start
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data
+    properties:
+      network_ipam_refs_data_ipam_subnets:
+        type: list
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source addresses
+    properties:
+      network_policy_entries_policy_rule_src_addresses_virtual_network:
+        type: string
+        description: Source addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: destination addresses
+    properties:
+      network_policy_entries_policy_rule_dst_addresses_virtual_network:
+        type: string
+        description: Destination addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: destination port pairs
+    properties:
+      network_policy_entries_policy_rule_dst_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_dst_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source port pairs
+    properties:
+      network_policy_entries_policy_rule_src_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList:
+    derived_from: tosca.datatypes.Root
+    description: Action List
+    properties:
+      network_policy_entries_policy_rule_action_list_simple_action:
+        type: string
+        description: Simple Action
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_action_list_apply_service:
+        type: list
+        description: Apply Service
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      network_policy_entries_policy_rule_dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork
+      network_policy_entries_policy_rule_dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs
+      network_policy_entries_policy_rule_protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork
+      network_policy_entries_policy_rule_direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs
+      network_policy_entries_policy_rule_action_list:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList
+        description: Action list
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      network_policy_entries_policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.Rule
+  org.openecomp.datatypes.heat.network.contrail.port.StaticRoute:
+    derived_from: tosca.datatypes.Root
+    description: static route
+    properties:
+      prefix:
+        type: string
+        description: Route prefix
+        required: false
+        status: SUPPORTED
+      next_hop:
+        type: string
+        description: Next hop
+        required: false
+        status: SUPPORTED
+      next_hop_type:
+        type: string
+        description: Next hop type
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Address Pair
+    properties:
+      address_mode:
+        type: string
+        description: Address mode active-active or active-standy
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - active-active
+          - active-standby
+      prefix:
+        type: string
+        description: IP address prefix
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: Mac address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.InterfaceData:
+    derived_from: tosca.datatypes.Root
+    description: Interface Data
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Interface Properties.
+    properties:
+      virtual_machine_interface_properties_service_interface_type:
+        type: string
+        description: Service Interface Type.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.Root:
+    derived_from: tosca.datatypes.Root
+    description: |
+      The ECOMP root Data Type all other Data Types derive from
+    properties:
+      supplemental_data:
+        type: map
+        entry_schema:
+          description: |
+            A placeholder for missing properties that would be included in future ecomp model versions. fromat <key>:<value>
+          type: string
+  org.openecomp.datatypes.AssignmentRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_required:
+        description: |
+          "true" indicates that assignment is required
+        type: boolean
+        default: false
+        required: true
+      count:
+        description: number of assignments required
+        type: integer
+        required: false
+  org.openecomp.datatypes.network.SubnetAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_network_address_plan:
+        type: string
+        required: false
+        description: Reference to EIPAM, VLAN or other address plan ID used to assign subnets to this network
+      dhcp_enabled:
+        type: boolean
+        required: false
+        description: \"true\" indicates the network has 1 or more policies
+      ip_version:
+        type: integer
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+        required: true
+        description: The IP version of the subnet
+      cidr_mask:
+        type: integer
+        required: true
+        description: The default subnet CIDR mask
+      min_subnets_count:
+        type: integer
+        default: 1
+        required: true
+        description: Quantity of subnets that must be initially assigned
+  org.openecomp.datatypes.network.IPv4SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv4:
+        type: boolean
+        required: true
+        description: Indicates IPv4 subnet assignments
+  org.openecomp.datatypes.network.IPv6SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv6:
+        type: boolean
+        required: true
+        description: Indicates IPv6 subnet assignments
+  org.openecomp.datatypes.network.NetworkAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_network_assignment:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the network assignments will be auto-generated by ECOMP \"false\" indicates operator-supplied Network assignments file upload is required (e.g. VID will present prompt to operator to upload operator-supplied Network assignments file).
+      is_shared_network:
+        type: boolean
+        required: true
+        description: \"true\" means this network is shared by multiple Openstack tenants
+      is_external_network:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" means this Contrail external network
+      ipv4_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv4SubnetAssignments
+        required: true
+        description: IPv4 defualt subnet assignments
+      ipv6_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv6SubnetAssignments
+        required: true
+        description: IPv6 defualt subnet assignments
+      related_networks:
+        type: list
+        required: false
+        description: Related Networks List.
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+      is_trunked:
+        type: boolean
+        required: true
+        description: \"true\" indicates that network is trunked
+        default: false
+  org.openecomp.datatypes.network.ProviderNetwork:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_provider_network:
+        type: boolean
+        required: true
+        description: \"true\" indicates that this a Neutron provider type of network
+      physical_network_name:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Physnet41
+          - Physnet42
+          - Physnet43
+          - Physnet44
+          - Physnet21
+          - Physnet22
+          - sriovnet1
+          - sriovnet2
+          - oam
+        description: |
+          Identifies the NUMA processor cluster to which this physical network interface belongs. NUMA instance correlates to the first digit of the Physical Network Name suffix (e.g. \"01\" = NUMA 0, \"11\" = NUMA 1)
+      numa:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - NUMA 0
+          - NUMA 1
+        description: |
+          PNIC instance within the NUMA processor cluster PNIC Instance correlates to the second digit of the Physical Network Name suffix (e.g. "01" = PNIC 1, "02" = "PNIC 2)
+      pnic_instance:
+        type: integer
+        required: false
+        description: PNIC instance within the NUMA processor cluster
+  org.openecomp.datatypes.network.NetworkFlows:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_network_policy:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more policies
+      network_policy:
+        type: string
+        required: false
+        description: 'Identifies the specific Cloud network policy that must be applied
+          to this network (source: from Policy Manager).'
+      is_bound_to_vpn:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more vpn bindings
+      vpn_binding:
+        type: string
+        required: false
+        description: 'Identifies the specific VPN Binding entry in A&AI that must
+          be applied when creating this network (source: A&AI)'
+  org.openecomp.datatypes.network.VlanRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      vlan_range_plan:
+        type: string
+        required: true
+        description: reference to a vlan range plan
+      vlan_type:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - c-tag
+          - s-tag
+        description: identifies the vlan type (e.g., c-tag)
+      vlan_count:
+        type: integer
+        required: true
+        description: identifies the number of vlan tags to assign to the CP from the plan
+  org.openecomp.datatypes.network.IpRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: true
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      ip_count:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: integer
+        required: false
+      floating_ip_count:
+        type: integer
+        required: false
+      subnet_role:
+        type: string
+        required: false
+      assingment_method:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - fixed
+          - dhcp
+      dhcp_enabled:
+        type: boolean
+        required: false
+      ip_count_required:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      floating_ip_count_required:
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      ip_address_plan_name:
+        type: string
+        required: false
+      vrf_name:
+        type: string
+        required: false
+  org.openecomp.datatypes.network.MacAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        type: string
+        required: true
+        description: reference to a MAC address range plan
+      mac_count:
+        type: integer
+        required: true
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+  org.openecomp.datatypes.EcompHoming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_selected_instance_node_target:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the target deployment node for this instance will be auto-selected by ECOMP \"false\" indicates operator-supplied instance target deployment node required (e.g. VID will present a prompt to operator and collect the operator-selected target node for the deployment of this Network instance).
+      homing_policy:
+        type: string
+        required: false
+        description: Referenc to a service level homing policy that ECOMP will use for instance deployment target node
+      instance_node_target:
+        type: string
+        required: false
+        description: Instance target deployment node
+  org.openecomp.datatypes.EcompNaming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        type: boolean
+        required: true
+        default: true
+        description: |
+          \"true\" indicates that the name for the instance will be auto-generated by ECOMP. \"false\" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+      naming_policy:
+        type: string
+        required: false
+        description: Referenc to naming policy that ECOMP will use when the name is auto-generated
+  org.openecomp.datatypes.network.MacRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        description: reference to a MAC address range plan
+        type: string
+        required: false
+      mac_count:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: integer
+        required: false
+      mac_count_required:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair IP.
+    properties:
+      ip_prefix:
+        type: string
+        description: IP Prefix.
+        required: false
+        status: SUPPORTED
+      ip_prefix_len:
+        type: integer
+        description: IP Prefix Len.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Mac Address.
+    properties:
+      mac_address:
+        type: list
+        description: Mac Addresses List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface VLAN Properties.
+    properties:
+      sub_interface_vlan_tag:
+        type: string
+        description: Sub Interface VLAN Tag.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair.
+    properties:
+      address_mode:
+        type: string
+        description: Address Mode.
+        required: false
+        status: SUPPORTED
+      ip:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp
+        description: IP.
+        required: false
+        status: SUPPORTED
+      mac:
+        type: string
+        description: Mac.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pairs.
+    properties:
+      allowed_address_pair:
+        type: list
+        description: Addresses pair List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair
+  org.openecomp.datatypes.Naming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        description: |
+          "true" indicates that the name for the instance will be auto-generated by ECOMP. "false" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: boolean
+        default: true
+        required: true
+      naming_policy:
+        description: Reference to naming policy that ECOMP will use when the name is auto-generated
+        type: string
+        required: false
+      instance_name:
+        description: indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: string
+        required: false
+  org.openecomp.datatypes.flavors.ComputeFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      num_cpus:
+        type: integer
+      disk_size:
+        type: scalar-unit.size
+      mem_size:
+        type: scalar-unit.size
+  org.openecomp.datatypes.flavors.LicenseFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      feature_group_uuid:
+        type: string
+  org.openecomp.datatypes.flavors.VendorInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      manufacturer_reference_number:
+        type: string
+      vendor_model:
+        type: string
+  org.openecomp.datatypes.flavors.DeploymentFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      sp_part_number:
+        type: string
+      vendor_info:
+        type: org.openecomp.datatypes.flavors.VendorInfo
+      compute_flavor:
+        type: org.openecomp.datatypes.flavors.ComputeFlavor
+      license_flavor:
+        type: org.openecomp.datatypes.flavors.LicenseFlavor
+        required: false
+  org.openecomp.datatypes.ImageInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      software_version:
+        type: string
+      file_name:
+        type: string
+      file_hash:
+        type: string
+        description: checksum/signature
+      file_hash_type:
+        type: string
+        required: false
+        default: md5
+  org.openecomp.datatypes.network.RelatedNetworksAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      related_network_role:
+        type: string
+        description: The network role of the related network, sharing provider network.
+        required: false
+  tosca.datatypes.nfv.VnfcConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      additional_vnfc_configurable_properties:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.RequestedAdditionalCapability:
+    derived_from: tosca.datatypes.Root
+    properties:
+      support_mandatory:
+        type: boolean
+        required: true
+      min_requested_additional_capability_version:
+        type: string
+        required: false
+      preferred_requested_additional_capability_version:
+        type: string
+        required: false
+      requested_additional_capability_name:
+        type: string
+        required: true
+      target_performance_parameters:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+  tosca.datatypes.nfv.VirtualMemory:
+    derived_from: tosca.datatypes.Root
+    properties:
+      virtual_mem_size:
+        type: scalar-unit.size
+        required: true
+      virtual_mem_oversubscription_policy:
+        type: string
+        required: false
+      vdu_memory_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      numa_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VirtualCpuPinning:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_pinning_policy:
+        type: string
+        constraints:
+        - valid_values:
+          - static
+          - dynamic
+        required: false
+      cpu_pinning_map:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualCpu:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_architecture:
+        type: string
+        required: false
+      num_virtual_cpu:
+        type: integer
+        required: true
+      virtual_cpu_clock:
+        type: scalar-unit.frequency
+        required: false
+      virtual_cpu_oversubscription_policy:
+        type: string
+        required: false
+      vdu_cpu_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      virtual_cpu_pinning:
+        type: tosca.datatypes.nfv.VirtualCpuPinning
+        required: false
+  tosca.datatypes.nfv.LogicalNodeData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      logical_node_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      support_mandatory:
+        type: boolean
+        required: true
+      requirement:
+        type: string
+        required: false
+      network_interface_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+      nic_io_requirements:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+  tosca.datatypes.nfv.injectFile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      source_path:
+        type: string
+        required: true
+      dest_path:
+        type: string
+        required: true
+  tosca.datatypes.nfv.L2AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      mac_address_assignment:
+        type: boolean
+        required: true
+      address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.L3AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      ip_address_assignment:
+        type: boolean
+        required: true
+      floating_ip_activated:
+        type: boolean
+        required: true
+      ip_address_type:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - ipv4
+          - ipv6
+      number_of_ip_address:
+        type: integer
+        required: false
+      fixed_ip_address:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.AddressData:
+    properties:
+      address_type:
+        constraints:
+        - valid_values:
+          - mac_address
+          - ip_address
+        type: string
+        required: true
+      l2_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L2AddressData
+      l3_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L3AddressData
+  tosca.datatypes.nfv.ConnectivityType:
+    derived_from: tosca.datatypes.Root
+    properties:
+      layer_protocol:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo_wire
+      flow_pattern:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Line
+          - Tree
+          - Mesh
+  tosca.datatypes.nfv.VlFlavour:
+    derived_from: tosca.datatypes.Root
+    properties:
+      flavourId:
+        type: string
+  tosca.datatypes.nfv.ext.AddressPairs:
+    properties:
+      ip:
+        type: string
+        required: false
+      mac:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.FloatingIP:
+    properties:
+      external_network:
+        type: string
+        required: false
+      ip_address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocationInfo:
+    properties:
+      availability_zone:
+        type: string
+        required: false
+      vimid:
+        type: integer
+        required: false
+      tenant:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.HostRouteInfo:
+    properties:
+      destination:
+        type: string
+        required: false
+      nexthop:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.InjectData:
+    properties:
+      file_name:
+        type: string
+        required: false
+      file_data:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.zte.WatchDog:
+    properties:
+      enable_delay:
+        type: integer
+        required: false
+      action:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule:
+    properties:
+      scope:
+        type: string
+        required: false
+      affinity_antiaffinity:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VduProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_number_of_instances:
+        type: integer
+        required: true
+      max_number_of_instances:
+        type: integer
+        required: true
+      watchdog:
+        type: string
+        required: true
+      vmBootUpTimeOut:
+        type: integer
+        required: false
+  tosca.datatypes.nfv.LinkBitRateRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      root:
+        type: integer
+        required: true
+      leaf:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.Qos:
+    derived_from: tosca.datatypes.Root
+    properties:
+      latency:
+        type: integer
+        required: true
+      packet_delay_variation:
+        type: integer
+        required: true
+      packet_loss_ratio:
+        type: float
+        constraints:
+        - in_range:
+          - 0.0
+          - 1.0
+        required: false
+  tosca.datatypes.nfv.VlProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      max_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      min_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      qos:
+        type: tosca.datatypes.nfv.Qos
+        required: false
+      initiationParameters:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      cidr:
+        type: string
+        required: false
+      networkName:
+        type: string
+        required: false
+      startIp:
+        type: string
+        required: false
+      endIp:
+        type: string
+        required: false
+      gatewayIp:
+        type: string
+        required: false
+      segmentationId:
+        type: integer
+        required: false
+      physicalNetwork:
+        type: string
+        required: false
+      networkType:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - VLAN
+          - VXLAN
+      dhcpEnabled:
+        type: boolean
+        required: false
+      vlanTransparent:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VduLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      number_of_instances:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaleLevel:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleAspect:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      associated_group:
+        type: string
+        required: false
+      max_scale_level:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.InstantiationLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: true
+      vdu_levels:
+        type: map
+        required: true
+        entry_schema:
+          type: tosca.datatypes.nfv.VduLevel
+      scale_info:
+        type: map
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ScaleInfo
+  tosca.datatypes.nfv.VnfScaleOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaling_by_more_than_one_step_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      arbitrary_target_levels_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfHealOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      causes:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfOperateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scale:
+        type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
+      scale_to_level:
+        type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
+      heal:
+        type: tosca.datatypes.nfv.VnfHealOperationConfiguration
+      terminate:
+        type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
+      operate:
+        type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
+  tosca.datatypes.nfv.CpProtocolData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      asscociated_layer_protocol:
+        type: string
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo-wire
+        required: true
+      address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.datatypes.nfv.VnfConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      is_autoscale_enabled:
+        type: boolean
+        required: false
+      is_autoheal_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributes:
+    derived_from: tosca.datatypes.Root
+    properties:
+      extensions:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
+        required: false
+      metadata:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
+        required: false
diff --git a/s3p/templates/pciNumDevices/Definitions/groups.yml b/s3p/templates/pciNumDevices/Definitions/groups.yml
new file mode 100644
index 0000000..f8be60d
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/groups.yml
@@ -0,0 +1,133 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+group_types:
+  tosca.groups.Root:
+    description: The TOSCA Group Type all other TOSCA Group Types derive from
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  org.openecomp.groups.heat.HeatStack:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same heat stack
+    properties:
+      heat_file:
+        type: string
+        description: Heat file which associate to this group/heat stack
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: group description
+        required: true
+        status: SUPPORTED
+  org.openecomp.groups.VfModule:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same VF Module
+    properties:
+      isBase:
+        type: boolean
+        description: Whether this module should be deployed before other modules
+        required: true
+        default: false
+        status: SUPPORTED
+      vf_module_label:
+        type: string
+        required: true
+        description: |
+          Alternate textual key used to reference this VF-Module model.  Must be unique within the VNF model
+      vf_module_description:
+        type: string
+        required: true
+        description: |
+          Description of the VF-modules contents and purpose   (e.g. "Front-End" or "Database Cluster")
+      min_vf_module_instances:
+        type: integer
+        required: true
+        description: The minimum instances of this VF-Module
+      max_vf_module_instances:
+        type: integer
+        required: false
+        description: The maximum instances of this VF-Module
+      initial_count:
+        type: integer
+        required: false
+        description: |
+          The initial count of instances of the VF-Module. The value must be in the  range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances.
+      vf_module_type:
+        type: string
+        required: true
+        constraint:
+        - valid_values:
+          - Base
+          - Expansion
+      volume_group:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          "true" indicates that this VF Module model requires attachment to a Volume   Group.  VID operator must select the Volume Group instance to attach to a VF-Module  at deployment time.
+      availability_zone_count:
+        type: integer
+        required: false
+        description: |
+          Quantity of Availability Zones needed for this VF-Module     (source: Extracted from VF-Module HEAT template)
+      vfc_list:
+        type: map
+        entry_schema:
+          description: <vfc_id>:<count>
+          type: string
+        required: false
+        description: |
+          Identifies the set of VM types and their count included in the VF-Module
+  org.openecomp.groups.NetworkCollection:
+    derived_from: tosca.groups.Root
+    description: groups l3-networks in network collection
+    properties:
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function
+      network_collection_description:
+        type: string
+        required: true
+        description: network collection description, free format text
+  org.openecomp.groups.VfcInstanceGroup:
+    derived_from: tosca.groups.Root
+    description: groups VFCs with same parent port role
+    properties:
+      vfc_instance_group_function:
+        type: string
+        required: true
+        description: function of this VFC group
+      vfc_parent_port_role:
+        type: string
+        required: true
+        description: common role of parent ports of VFCs in this group
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function assigned to this group
+      subinterface_role:
+        type: string
+        required: true
+        description: common role of subinterfaces of VFCs in this group, criteria the group is created
+    capabilities:
+      vlan_assignment:
+        type: org.openecomp.capabilities.VLANAssignment
+        properties:
+          vfc_instance_group_reference:
+            type: string
diff --git a/s3p/templates/pciNumDevices/Definitions/interfaces.yml b/s3p/templates/pciNumDevices/Definitions/interfaces.yml
new file mode 100644
index 0000000..a11c716
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/interfaces.yml
@@ -0,0 +1,83 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+interface_types:
+  tosca.interfaces.nfv.vnf.lifecycle.Nfv:
+    instantiate:
+      description: Invoked upon receipt of an Instantiate VNF request
+    instantiate_start:
+      description: Invoked before instantiate
+    instantiate_end:
+      description: Invoked after instantiate
+    terminate:
+      description: Invoked upon receipt Terminate VNF request
+    terminate_start:
+      description: Invoked before terminate
+    terminate_end:
+      description: Invoked after terminate
+    modify_information:
+      description: Invoked upon receipt of a Modify VNF Information request
+    modify_information_start:
+      description: Invoked before modify_information
+    modify_information_end:
+      description: Invoked after modify_information
+    change_flavour:
+      description: Invoked upon receipt of a Change VNF Flavour request
+    change_flavour_start:
+      description: Invoked before change_flavour
+    change_flavour_end:
+      description: Invoked after change_flavour
+    change_external_connectivity:
+      description: Invoked upon receipt of a Change External VNF Connectivity request
+    change_external_connectivity_start:
+      description: Invoked before change_external_connectivity
+    change_external_connectivity_end:
+      description: Invoked after change_external_connectivity
+    operate:
+      description: Invoked upon receipt of an Operate VNF request
+    operate_start:
+      description: Invoked before operate
+    operate_end:
+      description: Invoked after operate
+    heal:
+      description: Invoked upon receipt of a Heal VNF request
+    heal_start:
+      description: Invoked before heal
+    heal_end:
+      description: Invoked after heal
+    scale:
+      description: Invoked upon receipt of a Scale VNF request
+    scale_start:
+      description: Invoked before scale
+    scale_end:
+      description: Invoked after scale
+    scale_to_level:
+      description: Invoked upon receipt of a Scale VNF to Level request
+    scale_to_level_start:
+      description: Invoked before scale_to_level
+    scale_to_level_end:
+      description: Invoked after scale_to_level
+  tosca.interfaces.node.lifecycle.Standard:
+    create:
+      description: Standard lifecycle create operation.
+    configure:
+      description: Standard lifecycle configure operation.
+    start:
+      description: Standard lifecycle start operation.
+    stop:
+      description: Standard lifecycle stop operation.
+    delete:
+      description: Standard lifecycle delete operation.
diff --git a/s3p/templates/pciNumDevices/Definitions/nodes.yml b/s3p/templates/pciNumDevices/Definitions/nodes.yml
new file mode 100644
index 0000000..62d77f4
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/nodes.yml
@@ -0,0 +1,4781 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+- artifacts.yml
+- capabilities.yml
+- interfaces.yml
+- relationships.yml
+node_types:
+  tosca.nodes.BlockStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 1 MB
+      volume_id:
+        type: string
+        required: false
+      snapshot_id:
+        type: string
+        required: false
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+  tosca.nodes.WebApplication:
+    derived_from: tosca.nodes.Root
+    properties:
+      context_root:
+        type: string
+    capabilities:
+      app_endpoint:
+        type: tosca.capabilities.Endpoint
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.WebServer
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.Database:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: the logical name of the database
+      port:
+        type: integer
+        description: the port the underlying database service will listen to for data
+      user:
+        type: string
+        description: the optional user account name for DB administration
+        required: false
+      password:
+        type: string
+        description: the optional password for the DB user account
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.DBMS
+        relationship: tosca.relationships.HostedOn
+    capabilities:
+      database_endpoint:
+        type: tosca.capabilities.Endpoint.Database
+  tosca.nodes.Container.Runtime:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+      scalable:
+        type: tosca.capabilities.Scalable
+  tosca.nodes.network.Port:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: true
+        default: 0
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        type: boolean
+        required: false
+        default: false
+      ip_range_start:
+        type: string
+        required: false
+      ip_range_end:
+        type: string
+        required: false
+    requirements:
+    - link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  tosca.nodes.Root:
+    description: The TOSCA Node Type all other TOSCA base Node Types derive from
+    attributes:
+      tosca_id:
+        type: string
+      tosca_name:
+        type: string
+      state:
+        type: string
+    capabilities:
+      feature:
+        type: tosca.capabilities.Node
+    requirements:
+    - dependency:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  tosca.nodes.network.Network:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: false
+        default: 4
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      cidr:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      network_id:
+        type: string
+        required: false
+      segmentation_id:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+        default: true
+    capabilities:
+      link:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.Compute:
+    derived_from: tosca.nodes.Root
+    attributes:
+      private_address:
+        type: string
+      public_address:
+        type: string
+      networks:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.NetworkInfo
+      ports:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.PortInfo
+    requirements:
+    - local_storage:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+      endpoint:
+        type: tosca.capabilities.Endpoint.Admin
+      os:
+        type: tosca.capabilities.OperatingSystem
+      scalable:
+        type: tosca.capabilities.Scalable
+      binding:
+        type: tosca.capabilities.network.Bindable
+  tosca.nodes.LoadBalancer:
+    derived_from: tosca.nodes.Root
+    properties:
+      algorithm:
+        type: string
+        required: false
+        status: experimental
+    capabilities:
+      client:
+        type: tosca.capabilities.Endpoint.Public
+        occurrences:
+        - 0
+        - UNBOUNDED
+        description: the Floating (IP) client’s on the public network can connect to
+    requirements:
+    - application:
+        capability: tosca.capabilities.Endpoint
+        relationship: tosca.relationships.RoutesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.DBMS:
+    derived_from: tosca.nodes.SoftwareComponent
+    properties:
+      root_password:
+        type: string
+        required: false
+        description: the optional root password for the DBMS service
+      port:
+        type: integer
+        required: false
+        description: the port the DBMS service will listen to for data and requests
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.Database
+  tosca.nodes.WebServer:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      data_endpoint: tosca.capabilities.Endpoint
+      admin_endpoint: tosca.capabilities.Endpoint.Admin
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.WebApplication
+  tosca.nodes.Container.Application:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Container
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.SoftwareComponent:
+    derived_from: tosca.nodes.Root
+    properties:
+      component_version:
+        type: version
+        required: false
+      admin_credential:
+        type: tosca.datatypes.Credential
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.ObjectStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+      maxsize:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+    capabilities:
+      storage_endpoint:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ServiceProxy:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrailV2.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+      network_policy_entries:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      shared:
+        type: string
+        description: Is virtual network shared
+        required: false
+        status: SUPPORTED
+      forwarding_mode:
+        type: string
+        description: forwarding mode of the virtual network
+        required: false
+        status: SUPPORTED
+      external:
+        type: string
+        description: Is virtual network external
+        required: false
+        status: SUPPORTED
+      allow_transit:
+        type: string
+        description: Whether this network should be transitive.
+        required: false
+        status: SUPPORTED
+      flood_unknown_unicast:
+        type: string
+        description: flood L2 packets on network
+        required: false
+        status: SUPPORTED
+      route_targets:
+        type: list
+        description: route targets associated with the virtual network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extContrailCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.service:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.v2.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.vfc.nodes.volume:
+    derived_from: tosca.nodes.BlockStorage
+  org.openecomp.nodes.VLANNetworkReceptor:
+    derived_from: tosca.nodes.Root
+    capabilities:
+      routing_configuration_internal:
+        type: org.openecomp.capabilities.RoutingConfiguration
+    requirements:
+    - vlan_assignment:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.VLANAssignment
+        relationship: org.openecomp.relationships.AssignsTo
+  org.openecomp.resource.vl.nodes.heat.network.neutron.Net:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      dhcp_agent_ids:
+        type: list
+        description: The IDs of the DHCP agent to schedule the network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      tenant_id:
+        type: string
+        description: The ID of the tenant which will own the network
+        required: false
+        status: SUPPORTED
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      shared:
+        type: boolean
+        description: Whether this network should be shared across all tenants
+        required: false
+        default: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      mtu:
+        type: scalar-unit.size
+        description: The maximum transmission unit size(in bytes) for the network
+        status: SUPPORTED
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.nova.Server:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      admin_pass:
+        type: string
+        description: The administrator password for the server
+        required: false
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      image:
+        type: string
+        description: The ID or name of the image to boot with
+        required: false
+        status: SUPPORTED
+      image_update_policy:
+        type: string
+        description: Policy on how to apply an image-id update
+        required: false
+        default: REBUILD
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REBUILD_PRESERVE_EPHEMERAL
+          - REPLACE
+          - REBUILD
+      metadata:
+        type: json
+        description: Arbitrary JSON metadata to store for this server
+        required: false
+        status: SUPPORTED
+      contrail_service_instance_ind:
+        type: boolean
+        description: Nova server related to service instance indicator
+        required: false
+        default: false
+        status: SUPPORTED
+      user_data_update_policy:
+        type: string
+        description: Policy on how to apply a user_data update
+        required: false
+        default: REPLACE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE
+          - IGNORE
+      flavor_update_policy:
+        type: string
+        description: Policy on how to apply a flavor update
+        required: false
+        default: RESIZE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - RESIZE
+          - REPLACE
+      user_data:
+        type: string
+        description: User data script to be executed by cloud-init
+        required: false
+        default: ''
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: The ID or name of the flavor to boot onto
+        required: true
+        status: SUPPORTED
+      key_name:
+        type: string
+        description: Name of keypair to inject into the server
+        required: false
+        status: SUPPORTED
+      reservation_id:
+        type: string
+        description: A UUID for the set of servers being requested
+        required: false
+        status: SUPPORTED
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      config_drive:
+        type: boolean
+        description: enable config drive on the server
+        required: false
+        status: SUPPORTED
+      personality:
+        type: map
+        description: A map of files to create/overwrite on the server upon boot
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      software_config_transport:
+        type: string
+        description: How the server should receive the metadata required for software configuration
+        required: false
+        default: POLL_SERVER_CFN
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - POLL_SERVER_CFN
+          - POLL_SERVER_HEAT
+          - POLL_TEMP_URL
+          - ZAQAR_MESSAGE
+      user_data_format:
+        type: string
+        description: How the user_data should be formatted for the server
+        required: false
+        default: HEAT_CFNTOOLS
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - SOFTWARE_CONFIG
+          - RAW
+          - HEAT_CFNTOOLS
+      diskConfig:
+        type: string
+        description: Control how the disk is partitioned when the server is created
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - AUTO
+          - MANUAL
+      name:
+        type: string
+        description: Server name
+        required: false
+        status: SUPPORTED
+      scheduler_hints:
+        type: map
+        description: Arbitrary key-value pairs specified by the client to help boot a server
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      accessIPv4:
+        type: string
+        description: The manually assigned alternative public IPv4 address of the server
+        status: SUPPORTED
+      addresses:
+        type: map
+        description: A dict of all network addresses with corresponding port_id
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo
+      accessIPv6:
+        type: string
+        description: The manually assigned alternative public IPv6 address of the server
+        status: SUPPORTED
+      instance_name:
+        type: string
+        description: AWS compatible instance name
+        status: SUPPORTED
+      name:
+        type: string
+        description: Name of the server
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      console_urls:
+        type: string
+        description: URLs of servers consoles
+        status: SUPPORTED
+  org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      description:
+        type: string
+        description: Description of the security group
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this security group, which is not required to be unique.
+        required: false
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of security group rules
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule
+    attributes:
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+    requirements:
+    - port:
+        capability: tosca.capabilities.Attachment
+        node: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.cinder.Volume:
+    derived_from: org.openecomp.resource.vfc.nodes.volume
+    properties:
+      availability_zone:
+        description: The availability zone in which the volume will be created
+        type: string
+        status: SUPPORTED
+        required: false
+      image:
+        description: If specified, the name or ID of the image to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      metadata:
+        description: Key/value pairs to associate with the volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      volume_type:
+        description: If specified, the type of volume to use, mapping to a specific backend
+        type: string
+        status: SUPPORTED
+        required: false
+      description:
+        description: A description of the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      device_type:
+        description: Device type
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - cdrom
+          - disk
+      disk_bus:
+        description: 'Bus of the device: hypervisor driver chooses a suitable default
+          if omitted'
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - ide
+          - lame_bus
+          - scsi
+          - usb
+          - virtio
+      backup_id:
+        description: If specified, the backup to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      source_volid:
+        description: If specified, the volume to use as source
+        type: string
+        status: SUPPORTED
+        required: false
+      boot_index:
+        description: Integer used for ordering the boot disks
+        type: integer
+        status: SUPPORTED
+        required: false
+      size:
+        description: The requested storage size (default unit is MB)
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+        constraints:
+        - greater_or_equal: 1 GB
+      read_only:
+        description: Enables or disables read-only access mode of volume
+        type: boolean
+        status: SUPPORTED
+        required: false
+      name:
+        description: A name used to distinguish the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      scheduler_hints:
+        description: Arbitrary key-value pairs specified by the client to help the Cinder scheduler creating a volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      swap_size:
+        description: The size of the swap, in MB
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+      delete_on_termination:
+        description: Indicate whether the volume should be deleted when the server is terminated
+        type: boolean
+        status: SUPPORTED
+        required: false
+      multiattach:
+        description: Whether allow the volume to be attached more than once
+        type: boolean
+        status: SUPPORTED
+        required: false
+    attributes:
+      display_description:
+        description: Description of the volume
+        type: string
+        status: SUPPORTED
+      attachments:
+        description: The list of attachments of the volume
+        type: string
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      encrypted:
+        description: Boolean indicating if the volume is encrypted or not
+        type: boolean
+        status: SUPPORTED
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+      created_at:
+        description: The timestamp indicating volume creation
+        type: timestamp
+        status: SUPPORTED
+      display_name:
+        description: Name of the volume
+        type: string
+        status: SUPPORTED
+      metadata_values:
+        description: Key/value pairs associated with the volume in raw dict form
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      bootable:
+        description: Boolean indicating if the volume can be booted or not
+        type: boolean
+        status: SUPPORTED
+      status:
+        description: The current status of the volume
+        type: string
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.CR:
+    derived_from: tosca.nodes.Root
+    properties:
+      cr_function:
+        type: string
+      cr_role:
+        type: string
+      cr_type:
+        type: string
+  org.openecomp.resource.vl.extVL:
+    derived_from: tosca.nodes.Root
+    description: VF Tenant oam protected network
+    properties:
+      network_type:
+        type: string
+        required: true
+        description: ECOMP supported network types.
+      network_role:
+        type: string
+        required: true
+        description: |
+          Unique label that defines the role that this network performs.   example: vce oam network, vnat sr-iov1 network
+      network_scope:
+        type: string
+        constraints:
+          valid_values:
+          - VF
+          - SERVICE
+          - GLOBAL
+        description: |
+          Uniquely identifies the network scope. Valid values for the network scope   includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects  the VFs within the service GLOBAL - Global network which can be shared by multiple services
+      network_technology:
+        type: string
+        required: true
+        description: ECOMP supported network technology
+      exVL_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+        required: true
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+        required: true
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+        required: true
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.abstract.nodes.PNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_type:
+        type: string
+      software_versions:
+        type: list
+        entry_schema:
+          type: string
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      entries:
+        type: org.openecomp.datatypes.heat.contrail.network.rule.RuleList
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: tenant_id
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of rules
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.nodes.PortMirroringConfiguration:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+    - collector:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.nodes.VRFObject:
+    derived_from: tosca.nodes.Root
+    description: provides capability to connect WAN Transport Service Proxy to VRF Entry
+    capabilities:
+      routing_configuration_external:
+        type: org.openecomp.capabilities.RoutingConfiguration
+  org.openecomp.resource.abstract.nodes.VFC:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      nfc_function:
+        type: string
+      high_availablity:
+        type: string
+        description: high_availablity
+        required: false
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      nfc_naming_code:
+        type: string
+        description: nfc code for instance naming
+        required: false
+        status: SUPPORTED
+      vm_type_tag:
+        type: string
+        description: vm type based on naming Convention
+        required: false
+        status: SUPPORTED
+      nfc_naming:
+        type: org.openecomp.datatypes.Naming
+        description: vfc naming
+      min_instances:
+        type: integer
+        description: Minimum number of VFC Instances
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      max_instances:
+        type: integer
+        description: Maximum number of VFC Instances
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 1
+  org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.abstract.nodes.VnfConfiguration:
+    derived_from: tosca.nodes.Root
+    properties:
+      allowed_flavors:
+        description: a collection of all flavor valuesets available for a given VFC
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.flavors.DeploymentFlavor
+  org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      network_ipam_refs_data:
+        type: list
+        description: IPAM references Data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData
+      network_policy_refs_data:
+        type: list
+        description: Policy references data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData
+      network_ipam_refs:
+        type: list
+        description: IPAM references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      network_policy_refs:
+        type: list
+        description: Policy references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vl.internalVL:
+    derived_from: tosca.nodes.network.Network
+    description: The AT&T internal (VF-level) Virtual Link
+  org.openecomp.resource.vl.ELine:
+    derived_from: org.openecomp.resource.vl.VL
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 0
+        - 2
+  org.openecomp.resource.vl.VL:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.Configuration:
+    derived_from: tosca.nodes.Root
+    properties:
+      type:
+        type: string
+        description: The type of the node, the configuration will be defined for it. Ex. SBC
+        required: false
+      role:
+        type: string
+        description: The role of the node, the configuration will be defined for it. Ex. Active, Standby
+        required: false
+      function:
+        type: string
+        description: The function of the node, the configuration will be defined for it. Ex. NAT Traversal
+        required: false
+  org.openecomp.resource.cp.nodes.network.v2.SubInterface:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        description: Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to fulfill but may not be able to dependent on the network the port is associated with.
+        type: string
+        required: false
+      order:
+        description: 'The order of the NIC on the compute instance (e.g. eth2). Note:
+          when binding more than one port to a single compute (aka multi vNICs) and
+          ordering is desired, it is *mandatory* that all ports will be set with an
+          order value and. The order values must represent a positive, arithmetic
+          progression that starts with 0 (e.g. 0, 1, 2, ..., n).'
+        type: integer
+        default: 0
+        required: false
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        description: Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway. Only one port that is associated to single compute node can set as default=true.
+        type: boolean
+        default: false
+        required: false
+      ip_range_start:
+        description: Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+      ip_range_end:
+        description: Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+    attributes:
+      ip_address:
+        description: The IP address would be assigned to the associated compute instance.
+        type: string
+    requirements:
+    - subinterface_link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  org.openecomp.resource.cp.v2.extCP:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    description: The SDC External Connection Point base type
+    capabilities:
+      port_mirroring:
+        type: org.openecomp.capabilities.PortMirroring
+  org.openecomp.resource.vfc.nodes.Compute:
+    derived_from: tosca.nodes.Compute
+    capabilities:
+      disk.ephemeral.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.ephemeral.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of ephemeral disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: instance
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: instance
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Existence of instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu.delta
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used since previous datapoint
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Delta
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: '%'
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu_util
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average CPU utilization
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.root.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of root disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: vcpu
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: vcpus
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of virtual CPUs allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance from the amount of its allocated memory
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.resident
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance on the physical machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.MultiFlavorVFC:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      images:
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.ImageInfo
+        required: false
+  org.openecomp.nodes.PortMirroringConfigurationByPolicy:
+    derived_from: tosca.nodes.Root
+    properties:
+      collector_node:
+        type: string
+        description: The name of the Collector Proxy
+        required: true
+      policy_name:
+        type: string
+        description: The name of the policy for selection of the collector interfaces
+        required: true
+      equip_model:
+        type: string
+        description: The name of the equipment type of the collector, i.e. Cisco 4500x
+        required: true
+      equip_vendor:
+        type: string
+        description: The name of the equipment vendor of the collector, i.e. Cisco
+        required: true
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.VF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_naming_code:
+        type: string
+      nf_type:
+        type: string
+      nf_naming:
+        type: org.openecomp.datatypes.Naming
+        Default: true
+      availability_zone_max_count:
+        type: integer
+        default: 1
+        constraints:
+        - valid_values:
+          - 0
+          - 1
+          - 2
+      min_instances:
+        type: integer
+      max_instances:
+        type: integer
+      multi_stage_design:
+        type: boolean
+        default: false
+  org.openecomp.resource.vl.nodes.network.Network:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ForwardingPath:
+    derived_from: tosca.nodes.Root
+    properties:
+      target_range:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          description: Identifier of the reciever port of the VNF or the service
+          type: integer
+      protocol:
+        type: string
+        description: protocol type that runs on the link
+        required: true
+        status: SUPPORTED
+    requirements:
+    - forwarder:
+        capability: org.openecomp.capabilities.Forwarder
+        relationship: org.openecomp.relationships.ForwardsTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.nodes.heat.network.contrail.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.SubInterface:
+    derived_from: tosca.nodes.network.Port
+  org.openecomp.resource.vfc.nodes.heat.contrail.Compute:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the VM
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of active VMs
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: VMs of this compute
+        status: SUPPORTED
+      status:
+        type: string
+        description: status of the compute
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.Port:
+    derived_from: tosca.nodes.network.Port
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        description: Must correlate to the set of defined “network-role�? tag identifiers from the associated HEAT template
+        type: string
+        required: true
+      mac_requirements:
+        description: identifies MAC address assignments to the CP
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+      vlan_requirements:
+        description: identifies vlan address assignments to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+      ip_requirements:
+        description: identifies IP requirements to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+      subinterface_indicator:
+        description: identifies if Port is having Sub Interface
+        type: boolean
+        required: false
+        default: false
+      related_networks:
+        type: list
+        description: Related Networks List.
+        required: false
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+    capabilities:
+      network.incoming.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder:
+        type: org.openecomp.capabilities.Forwarder
+      network.outgoing.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outpoing.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.nodes.VRFEntry:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - routing_configuration_internal:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+    - routing_configuration_external:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+  org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.cp.extCP:
+    derived_from: tosca.nodes.Root
+    description: The SDC Connection Point base type all other CP derive from
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        type: string
+        required: true
+        description: Must correlate to the set of defined “network-role” tag identifiers from the associated HEAT template
+      mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+        description: identifies MAC address assignments to the CP
+      vlan_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+        description: identifies vlan address assignments to the CP
+      ip_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+        description: identifies IP requirements to the CP
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - virtualBinding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+    - external_virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        node: org.openecomp.resource.vl.VL
+    capabilities:
+      internal_connectionPoint:
+        type: tosca.capabilities.Node
+        valid_source_type:
+        - tosca.nodes.network.Port
+  org.openecomp.nodes.FabricConfiguration:
+    derived_from: org.openecomp.nodes.Configuration
+    requirements:
+    - fabric_configuration_monitoring:
+        capability: org.openecomp.capabilities.FabricConfiguration
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      static_routes_list:
+        type: list
+        description: Static routes enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      ordered_interfaces:
+        type: boolean
+        description: Indicates if service interface are ordered
+        required: false
+        default: false
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      service_interface_type_list:
+        type: list
+        description: List of interface types
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - management
+            - left
+            - right
+            - other
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      interface_list:
+        type: list
+        description: List of interfaces
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+      shared_ip_list:
+        type: list
+        description: Shared ips enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the Service Instance
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: The FQ name of the service instance
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service Template of the Service Instance
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of service VMs active for this Service Instance
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: The name of the service instance
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: Service VMs for the Service Instance
+        status: SUPPORTED
+      status:
+        type: string
+        description: Status of the service instance
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.AbstractSubstitute:
+    derived_from: tosca.nodes.Root
+    properties:
+      service_template_filter:
+        type: org.openecomp.datatypes.heat.substitution.SubstitutionFiltering
+        description: Substitution Filter
+        required: true
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.heat.network.neutron.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extNeutronCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+        required: true
+    capabilities:
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.Cp:
+    derived_from: tosca.nodes.Root
+    properties:
+      layer_protocol:
+        type: list
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - ethernet
+            - mpls
+            - odu2
+            - ipv4
+            - ipv6
+            - pseudo_wire
+        required: true
+      role:
+        type: string
+        constraints:
+        - valid_values:
+          - root
+          - leaf
+        required: false
+      description:
+        type: string
+        required: false
+      protocol_data:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.CpProtocolData
+        required: true
+      trunk_mode:
+        type: boolean
+        required: true
+      allowed_address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.nodes.nfv.VnfVirtualLinkDesc:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_flavours:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VlFlavour
+        required: true
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  org.openecomp.resource.vfc.AllottedResource:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+      role:
+        type: string
+        required: true
+        description: Unique label that defines the role that this allotted resource performs
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      target_network_role:
+        type: string
+        required: true
+        description: Target network role
+    requirements:
+    - service_dependency:
+        capability: org.openecomp.capabilities.AllottedResource
+        relationship: tosca.relationships.DependsOn
+        node: tosca.services.Root
+  tosca.nodes.nfv.ext.zte.VDU:
+    derived_from: tosca.nodes.Root
+    properties:
+      manual_scale_select_vim:
+        type: boolean
+        required: false
+      vdu_type:
+        type: string
+        required: false
+      watchdog:
+        type: tosca.datatypes.nfv.ext.zte.WatchDog
+        required: false
+      name:
+        type: string
+        required: false
+      local_affinity_antiaffinity_rule:
+        type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
+        required: false
+      support_scaling:
+        type: boolean
+        required: false
+      storage_policy:
+        type: string
+        required: false
+      key_vdu:
+        type: boolean
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+      inject_data_list:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.InjectData
+    requirements:
+    - guest_os:
+        capability: tosca.capabilities.nfv.ext.GuestOs
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage:
+        capability: tosca.capabilities.nfv.ext.LocalAttachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - volume_storage:
+        capability: tosca.capabilities.Attachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency:
+        capability: tosca.capabilities.Node
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      scalable:
+        type: tosca.capabilities.Scalable
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+      nfv_compute:
+        type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
+      virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+  tosca.nodes.nfv.VDU:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      Virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    properties:
+      bitrate_requirement:
+        type: integer
+        required: false
+      vnic_name:
+        type: string
+        required: false
+      vnic_order:
+        type: integer
+        required: false
+      vnic_type:
+        type: string
+        constraints:
+        - valid_values:
+          - normal
+          - macvtap
+          - direct
+          - baremetal
+          - direct-physical
+          - virtio-forwarder
+        required: false
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+        required: false
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+    - virtual_binding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        relationship: tosca.relationships.nfv.VirtualBindsTo
+        node: tosca.nodes.nfv.Vdu.Compute
+  org.openecomp.resource.vfc.NSD:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      nsd_id:
+        type: string
+        required: true
+        description: ID of the NSD
+      nsd_designer:
+        type: string
+        required: true
+        description: Designer of the NSD
+      nsd_version:
+        type: string
+        required: true
+        description: Version of the NSD
+      nsd_name:
+        type: string
+        required: true
+        description: Name of the NSD
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+        required: true
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+        required: true
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+        required: false
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      user_data:
+        type: string
+        required: false
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+    requirements:
+    - virtual_storage:
+        capability: tosca.capabilities.nfv.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+        node: tosca.nodes.nfv.Vdu.VirtualStorage
+        occurences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.GenericNeutronNet:
+    derived_from: org.openecomp.resource.vl.extVL
+    description: Generic Neutron Network
+    properties:
+      network_role:
+        type: string
+        description: |
+          Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+      network_scope:
+        type: string
+      network_ecomp_naming:
+        type: org.openecomp.datatypes.EcompNaming
+      network_type:
+        type: string
+        description: ECOMP supported network types.
+        default: NEUTRON
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+      network_technology:
+        type: string
+        description: ECOMP supported network technology
+        default: NEUTRON
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      type_of_storage:
+        type: string
+        constraints:
+        - valid_values:
+          - volume
+          - object
+          - root
+          - block
+        required: true
+      size_of_storage:
+        type: scalar-unit.size
+        required: true
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      rdma_enabled:
+        type: boolean
+        required: false
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+  tosca.nodes.nfv.ext.zte.VL:
+    derived_from: tosca.nodes.Root
+    properties:
+      segmentation_id:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      is_predefined:
+        type: boolean
+        required: false
+      mtu:
+        type: integer
+        required: false
+      dns_nameservers:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+      network_id:
+        type: string
+        required: false
+      host_routes:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.HostRouteInfo
+      ip_version:
+        type: integer
+        required: false
+      vendor:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      vlan_transparent:
+        type: boolean
+        required: false
+      cidr:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.ext.LocalStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: string
+        required: false
+      disk_type:
+        type: string
+        required: false
+    capabilities:
+      local_attachment:
+        type: tosca.capabilities.nfv.ext.LocalAttachment
+  tosca.nodes.nfv.ext.zte.CP:
+    derived_from: tosca.nodes.Root
+    properties:
+      guest_os_mtu:
+        type: integer
+        required: false
+      bandwidth:
+        type: integer
+        required: false
+      interface_name:
+        type: string
+        required: false
+      allowed_address_pairs:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.AddressPairs
+      ip_address:
+        type: string
+        required: false
+      bond:
+        type: string
+        required: false
+      proxiedVNFs:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      sfc_encapsulation:
+        type: string
+        required: false
+      floating_ip_address:
+        type: tosca.datatypes.nfv.ext.FloatingIP
+        required: false
+      service_ip_address:
+        required: false
+        type: string
+      mac_address:
+        type: string
+        required: false
+      proxiedVNFtype:
+        type: string
+        required: false
+      macbond:
+        type: string
+        required: false
+      vnic_type:
+        type: string
+        required: false
+      direction:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: false
+    requirements:
+    - forwarder:
+        capability: tosca.capabilities.nfv.Forwarder
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualbinding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualLink:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      forwarder:
+        type: tosca.capabilities.nfv.Forwarder
+  tosca.nodes.nfv.ext.ImageFile:
+    derived_from: tosca.nodes.Root
+    properties:
+      file_url:
+        type: string
+        required: false
+      container_type:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      disk_format:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+    capabilities:
+      guest_os:
+        type: tosca.capabilities.nfv.ext.GuestOs
+      image_fle:
+        type: tosca.capabilities.nfv.ext.ImageFile
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      descriptor_id:
+        type: string
+        required: true
+      descriptor_version:
+        type: string
+        required: true
+      provider:
+        type: string
+        required: true
+      product_name:
+        type: string
+        required: true
+      software_version:
+        type: string
+        required: true
+      product_info_name:
+        type: string
+        required: false
+      product_info_description:
+        type: string
+        required: false
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+        required: true
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      default_localization_language:
+        type: string
+        required: false
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+        required: false
+      modifiable_attributes:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
+        required: false
+      flavour_id:
+        type: string
+        required: true
+      flavour_description:
+        type: string
+        required: true
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Nfv:
+        type: tosca.interfaces.nfv.vnf.lifecycle.Nfv
+  org.openecomp.resource.vl.overlaytunnel:
+    derived_from: tosca.nodes.Root
+    description: This entity represents abstract overlay tunnel end point.
+    properties:
+      id:
+        type: string
+        description: Identifier of the Tunnel Endpoint node.
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      name:
+        type: string
+        description: Overlay tunnel name used by for reference by the administrator.
+        required: false
+      description:
+        type: string
+        description: Additional comments/information about overlay tunnel.
+        required: false
+      tunnelType:
+        type: string
+        constraints:
+        - valid_values:
+          - L3-DCI
+          - L2-DCI
+        description: type defines if the overlay tunnel is L3-DCI tunnel or L2-DCI tunnel.
+        required: true
+      site1_id:
+        type: string
+        description: Identifier of first DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site1_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site1_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site1_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site1_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site1_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site1_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site1_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site1_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site1_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+      site2_id:
+        type: string
+        description: Identifier of second DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site2_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site2_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site2_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site2_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site2_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site2_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site2_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site2_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site2_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.vl.underlayvpn:
+    derived_from: tosca.nodes.Root
+    description: undelay vpn type definitions
+    properties:
+      id:
+        type: string
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      vendor:
+        type: string
+        required: false
+      template_author:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      serviceType:
+        type: string
+        description: type of VPN service
+        required: false
+        default: l3vpn_sptn
+      topology:
+        type: string
+        description: type of VPN topology
+        constraints:
+        - valid_values:
+          - full-mesh
+          - point_to_multipoint
+          - point_to_point
+          - singlePoint
+          - hubspoke
+          - hubspoke_via_hubce
+          - hubspoke_disjoint
+          - ADD_DROP_Z
+        required: false
+        default: full-mesh
+      technology:
+        type: string
+        description: type of VPN technology
+        constraints:
+        - valid_values:
+          - mpls
+          - rosen multivpn
+          - vxlan overlay l3vpn
+          - eth over sdh
+          - vlan
+        required: false
+        default: mpls
+      site1_name:
+        type: string
+        description: name of first site
+        required: false
+      site2_name:
+        type: string
+        description: name of second site
+        required: false
+      sna1_name:
+        type: string
+        description: name of site network accesses associated with the site1
+        required: false
+      sna2_name:
+        type: string
+        description: name of site network accesses associated with the site2
+        required: false
+      pe1_id:
+        type: string
+        description: id of provider edge1, it can be name or ip or uuid
+        required: false
+      pe2_id:
+        type: string
+        description: id of provider edge2, it can be name or ip or uuid
+        required: false
+      ac1_id:
+        type: string
+        description: id of attachment circuit1, it can be port name or uuid
+        required: false
+      ac1_svlan:
+        type: integer
+        description: ac1 svlan
+        required: false
+      ac1_ip:
+        type: string
+        description: ip of ac1, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_peer_ip:
+        type: string
+        description: ip of ac1 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_route:
+        type: string
+        description: route configure of ac1, only for layer3 vpn
+        required: false
+      ac1_protocol:
+        type: string
+        description: routing protocol type of ac1, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        required: false
+      ac1_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac1, , only required for ebgp protocol
+        required: false
+      ac2_id:
+        type: string
+        description: id of attachment circuit2, it can be port name or uuid
+        required: false
+      ac2_svlan:
+        type: integer
+        description: ac2 svlan
+        required: false
+      ac2_ip:
+        type: string
+        description: ip of ac2, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_peer_ip:
+        type: string
+        description: ip of ac2 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_route:
+        type: string
+        description: route configure of ac2, only for layer3 vpn
+        required: false
+      ac2_protocol:
+        type: string
+        description: routing protocol type of ac2, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        default: STATIC
+        required: false
+      ac2_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac2, , only required for ebgp protocol
+        required: false
+      af_type:
+        type: string
+        description: address family type
+        default: ipv4
+        required: false
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
diff --git a/s3p/templates/pciNumDevices/Definitions/policies.yml b/s3p/templates/pciNumDevices/Definitions/policies.yml
new file mode 100644
index 0000000..6063d08
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/policies.yml
@@ -0,0 +1,134 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+policy_types:
+  tosca.policies.Root:
+    description: The TOSCA Policy Type all other TOSCA Policy Types derive from
+  tosca.policies.Placement:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes.
+  tosca.policies.Scaling:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes.
+  tosca.policies.Update:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes.
+  tosca.policies.Performance:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or groups of nodes.
+  org.openecomp.policies.placement.Antilocate:
+    derived_from: tosca.policies.Placement
+    description: My placement policy for separation based upon container type value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      container_type:
+        type: string
+        description: container type
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.Colocate:
+    derived_from: tosca.policies.Placement
+    description: Keep associated nodes (groups of nodes) based upon affinity value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      affinity:
+        type: string
+        description: affinity
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.valet.Diversity:
+    derived_from: tosca.policies.Placement
+    description: Valet Diversity
+    properties:
+      level:
+        type: string
+        description: diversity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Exclusivity:
+    derived_from: tosca.policies.Placement
+    description: Valet Exclusivity
+    properties:
+      level:
+        type: string
+        description: exclusivity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Affinity:
+    derived_from: tosca.policies.Placement
+    description: Valet Affinity
+    properties:
+      level:
+        type: string
+        description: affinity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.scaling.Fixed:
+    derived_from: tosca.policies.Scaling
+    properties:
+      quantity:
+        description: the exact number of instances to keep up
+        type: integer
+        required: true
+  org.openecomp.policies.External:
+    derived_from: tosca.policies.Root
+    description: externally managed policy (for example, type="network assignment", source="Policy Manager", name="route target")
+    properties:
+      source:
+        type: string
+        description: The name of the server that exposes the policy with predefined type and name.
+        required: false
+      type:
+        type: string
+        description: The type (category) of the policy same as it is defined in the source.
+        required: false
+      name:
+        type: string
+        description: The name of the policy, that related to specific type, same as it is defined in the source.
+        required: false
diff --git a/s3p/templates/pciNumDevices/Definitions/relationships.yml b/s3p/templates/pciNumDevices/Definitions/relationships.yml
new file mode 100644
index 0000000..b1b554d
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/relationships.yml
@@ -0,0 +1,142 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- capabilities.yml
+- data.yml
+- interfaces.yml
+relationship_types:
+  tosca.relationships.Root:
+    description: This is the default (root) TOSCA Relationship Type definition that all other TOSCA Relationship Types derive from.
+    attributes:
+      tosca_id:
+        description: A unique identifier of the realized instance of a Relationship Template that derives from any TOSCA normative type.
+        type: string
+      tosca_name:
+        description: This attribute reflects the name of the Relationship Template as defined in the TOSCA service template. This name is not unique to the realized instance model of corresponding deployed application as each template in the model can result in one or more instances (e.g., scaled) when orchestrated to a provider environment.
+        type: string
+      state:
+        description: The state of the relationship instance.
+        type: string
+        default: initial
+    interfaces:
+      Configure:
+        type: tosca.interfaces.relationship.Configure
+  tosca.relationships.RoutesTo:
+    derived_from: tosca.relationships.ConnectsTo
+    description: This type represents an intentional network routing between two Endpoints in different networks.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+  tosca.relationships.network.LinksTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This relationship type represents an association relationship between Port and Network node types.
+    valid_target_types:
+    - tosca.capabilities.network.Linkable
+  tosca.relationships.AttachesTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents an attachment relationship between two nodes. For example, an AttachesTo relationship type would be used for attaching a storage node to a Compute node.
+    valid_target_types:
+    - tosca.capabilities.Attachment
+    properties:
+      location:
+        description: 'The relative location (e.g., path on the file system), which
+          provides the root location to address an attached node. e.g., a mount point
+          / path such as ''/usr/data''. Note: The user must provide it and it cannot
+          be "root".'
+        type: string
+        constraints:
+        - min_length: 1
+      device:
+        description: The logical device name which for the attached device (which is represented by the target node in the model). e.g., '/dev/hda1'.
+        type: string
+        required: false
+    attributes:
+      device:
+        description: 'The logical name of the device as exposed to the instance. Note:
+          A runtime property that gets set when the model gets instantiated by the
+          orchestrator.'
+        type: string
+  tosca.relationships.network.BindsTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This type represents a network association relationship between Port and Compute node types.
+    valid_target_types:
+    - tosca.capabilities.network.Bindable
+  tosca.relationships.HostedOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a hosting relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Container
+  tosca.relationships.DependsOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a general dependency relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Node
+  tosca.relationships.ConnectsTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents a network connection relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+    properties:
+      credential:
+        type: tosca.datatypes.Credential
+        required: false
+  org.openecomp.relationships.VolumeAttachesTo:
+    derived_from: org.openecomp.relationships.AttachesTo
+    description: This type represents an attachment relationship for associating volume
+    properties:
+      volume_id:
+        description: The ID of the volume to be attached
+        type: string
+        status: SUPPORTED
+        required: true
+      instance_uuid:
+        description: The ID of the server to which the volume attaches
+        type: string
+        status: SUPPORTED
+        required: true
+    attributes:
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+  org.openecomp.relationships.AttachesTo:
+    derived_from: tosca.relationships.AttachesTo
+    description: This type represents an attachment relationship
+    properties:
+      location:
+        description: The relative location (e.g., path on the file system), which provides the root location to address an attached node.
+        type: string
+        status: SUPPORTED
+        required: false
+  org.openecomp.relationships.ForwardsTo:
+    derived_from: tosca.relationships.Root
+    valid_target_types:
+    - org.openecomp.capabilities.Forwarder
+  org.openecomp.relationships.AssignsTo:
+    derived_from: tosca.relationships.Root
+  org.openecomp.relationships.RoutesTo:
+    derived_from: tosca.relationships.RoutesTo
+    description: This type represents an intentional network routing between internal and external network
+  tosca.relationships.nfv.VirtualBindsTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualBindable
+  tosca.relationships.nfv.VirtualLinksTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualLinkable
+  tosca.relationships.nfv.Vdu.AttachedTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualStorage
diff --git a/s3p/templates/pciNumDevices/Definitions/resource-VduCompute-template.yml b/s3p/templates/pciNumDevices/Definitions/resource-VduCompute-template.yml
new file mode 100644
index 0000000..546f88a
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/resource-VduCompute-template.yml
@@ -0,0 +1,103 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+  UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+  name: VDU Compute
+  description: VDU Compute
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    description: VDU Compute
+    properties:
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+      name:
+        type: string
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+      description:
+        type: string
+      user_data:
+        type: string
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
diff --git a/s3p/templates/pciNumDevices/Definitions/resource-VduCp-template.yml b/s3p/templates/pciNumDevices/Definitions/resource-VduCp-template.yml
new file mode 100644
index 0000000..ec26637
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/resource-VduCp-template.yml
@@ -0,0 +1,59 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+  UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+  name: VDU Cp
+  description: VDU Cp
+  type: CP
+  category: Generic
+  subcategory: Network Elements
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    description: VDU Cp
+    properties:
+      vnic_name:
+        type: string
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+      bitrate_requirement:
+        type: integer
+      vnic_order:
+        type: integer
+      vnic_type:
+        type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/pciNumDevices/Definitions/resource-VduVirtualstorage-template.yml b/s3p/templates/pciNumDevices/Definitions/resource-VduVirtualstorage-template.yml
new file mode 100644
index 0000000..566f705
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/resource-VduVirtualstorage-template.yml
@@ -0,0 +1,50 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+  UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+  name: VDU VirtualStorage
+  description: VDU VirtualStorage
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    description: VDU VirtualStorage
+    properties:
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+      size_of_storage:
+        type: scalar-unit.size
+      rdma_enabled:
+        type: boolean
+      type_of_storage:
+        type: string
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/pciNumDevices/Definitions/resource-Vgw1181049-template-interface.yml b/s3p/templates/pciNumDevices/Definitions/resource-Vgw1181049-template-interface.yml
new file mode 100644
index 0000000..93cb070
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/resource-Vgw1181049-template-interface.yml
@@ -0,0 +1,208 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.resource.vf.Vgw1181049:
+    derived_from: org.openecomp.resource.abstract.nodes.VF
+    properties:
+      nf_naming:
+        default:
+          ecomp_generated_naming: true
+        type: org.openecomp.datatypes.Naming
+        required: false
+      multi_stage_design:
+        default: false
+        type: boolean
+        required: false
+      nf_function:
+        type: string
+        required: false
+      nf_naming_code:
+        type: string
+        required: false
+      availability_zone_max_count:
+        default: 1
+        type: integer
+        required: false
+      nf_role:
+        type: string
+        required: false
+      min_instances:
+        type: integer
+        required: false
+      max_instances:
+        type: integer
+        required: false
+      nf_type:
+        type: string
+        required: false
+    capabilities:
+      vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/pciNumDevices/Definitions/resource-Vgw1181049-template.yml b/s3p/templates/pciNumDevices/Definitions/resource-Vgw1181049-template.yml
new file mode 100644
index 0000000..73c0545
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/resource-Vgw1181049-template.yml
@@ -0,0 +1,289 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+  UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+  name: ##RANDOM_RESOURCE_NAME##
+  description: test
+  type: VF
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: vendor
+  resourceVendorRelease: '1.0'
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+- resource-VNF:
+    file: resource-Vnf-template.yml
+- resource-VnfVirtualLink:
+    file: resource-Vnfvirtuallink-template.yml
+- resource-VDU Cp:
+    file: resource-VduCp-template.yml
+- resource-VDU VirtualStorage:
+    file: resource-VduVirtualstorage-template.yml
+- resource-VDU Compute:
+    file: resource-VduCompute-template.yml
+topology_template:
+  inputs:
+    nf_naming:
+      default:
+        ecomp_generated_naming: true
+      type: org.openecomp.datatypes.Naming
+      required: false
+    multi_stage_design:
+      default: false
+      type: boolean
+      required: false
+    nf_function:
+      type: string
+      required: false
+    nf_naming_code:
+      type: string
+      required: false
+    availability_zone_max_count:
+      default: 1
+      type: integer
+      required: false
+    nf_role:
+      type: string
+      required: false
+    min_instances:
+      type: integer
+      required: false
+    max_instances:
+      type: integer
+      required: false
+    nf_type:
+      type: string
+      required: false
+  node_templates:
+    LLU_VNF:
+      type: tosca.nodes.nfv.VNF
+      metadata:
+        invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+        UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+        customizationUUID: 06bffc87-30c7-42ad-b99d-19c6c13405dc
+        version: '1.0'
+        name: VNF
+        description: VNF
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        descriptor_id: b1bb0ce7-2222-4fa7-95ed-4840d70a1177
+        provider: onap
+        vnfm_info:
+        - gvnfm
+        flavour_id: simple
+        descriptor_version: '1.0'
+        software_version: '1.0'
+        flavour_description: simple
+        product_name: vcpe_vgw
+    VL_mux_gw_private_net:
+      type: tosca.nodes.nfv.VnfVirtualLink
+      metadata:
+        invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+        UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+        customizationUUID: fbea54ef-8f8b-4f35-81d6-997a47282698
+        version: '1.0'
+        name: VnfVirtualLink
+        description: VnfVirtualLink
+        type: VL
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        vl_profile:
+          min_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          max_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          networkName: mux_gw_private_net_id
+          cidr: 192.168.0.0/24
+          dhcpEnabled: false
+        connectivity_type:
+          layer_protocol: ipv4
+    VDU_vgw_0:
+      type: tosca.nodes.nfv.Vdu.Compute
+      metadata:
+        invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+        UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+        customizationUUID: 93c3f2e3-67e7-4bb4-be11-8a48df924c4c
+        version: '1.0'
+        name: VDU Compute
+        description: VDU Compute
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        configurable_properties:
+          additional_vnfc_configurable_properties: {
+            }
+        name: vdu_vgw_0
+        description: vgw
+        vdu_profile:
+          watchdog: none
+          min_number_of_instances: 1
+          max_number_of_instances: 1
+      requirements:
+      - virtual_storage:
+          capability: virtual_storage
+          node: VirtualStorage_root_all
+      capabilities:
+        virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+    VirtualStorage_root_all:
+      type: tosca.nodes.nfv.Vdu.VirtualStorage
+      metadata:
+        invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+        UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+        customizationUUID: dc20e1ad-aed9-4154-b2b4-3a702eee49a7
+        version: '1.0'
+        name: VDU VirtualStorage
+        description: VDU VirtualStorage
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        size_of_storage: 40 GB
+        type_of_storage: root
+    Cp_vgw_mux_gw_private_net:
+      type: tosca.nodes.nfv.VduCp
+      metadata:
+        invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+        UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+        customizationUUID: b5ff315f-effc-46e9-a0c5-aec1954845e0
+        version: '1.0'
+        name: VDU Cp
+        description: VDU Cp
+        type: CP
+        category: Generic
+        subcategory: Network Elements
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        trunk_mode: false
+        protocol_data:
+        - asscociated_layer_protocol: ipv4
+          address_data:
+            address_type: ip_address
+            l3_address_data:
+              fixed_ip_address:
+              - 192.168.0.1
+              ip_address_assignment: false
+              floating_ip_activated: false
+        layer_protocol:
+        - ipv4
+        virtual_network_interface_requirements:
+        - name: "sriov-support"
+          support_mandatory: true
+          # Uncomment when POLICY-1254 fixed
+          #network_interface_requirements:
+          #  interfaceType: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform":"generic", "mandatory": "true", "configurationValue": "PCI-Passthrough"}'
+          nic_io_requirements:
+            logical_node_requirements:
+              pciNumDevices: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform": "generic", "mandatory": "true", "configurationValue": "1"}'
+      requirements:
+      - virtual_link:
+          capability: virtual_linkable
+          node: VL_mux_gw_private_net
+      - virtual_binding:
+          capability: virtual_binding
+          node: VDU_vgw_0
+  substitution_mappings:
+    node_type: org.openecomp.resource.vf.Vgw1181049
+    capabilities:
+      vl_mux_gw_private_net.feature:
+      - vl_mux_gw_private_net
+      - feature
+      cp_vgw_mux_gw_private_net.feature:
+      - cp_vgw_mux_gw_private_net
+      - feature
+      vdu_vgw_0.virtual_compute:
+      - vdu_vgw_0
+      - virtual_compute
+      vdu_vgw_0.virtual_binding:
+      - vdu_vgw_0
+      - virtual_binding
+      virtualstorage_root_all.virtual_storage:
+      - virtualstorage_root_all
+      - virtual_storage
+      llu_vnf.feature:
+      - llu_vnf
+      - feature
+      vl_mux_gw_private_net.virtual_linkable:
+      - vl_mux_gw_private_net
+      - virtual_linkable
+      vl_mux_gw_private_net.monitoring_parameter:
+      - vl_mux_gw_private_net
+      - monitoring_parameter
+      vdu_vgw_0.monitoring_parameter:
+      - vdu_vgw_0
+      - monitoring_parameter
+      virtualstorage_root_all.feature:
+      - virtualstorage_root_all
+      - feature
+      vdu_vgw_0.feature:
+      - vdu_vgw_0
+      - feature
+    requirements:
+      vdu_vgw_0.virtual_storage:
+      - vdu_vgw_0
+      - virtual_storage
+      vl_mux_gw_private_net.dependency:
+      - vl_mux_gw_private_net
+      - dependency
+      virtualstorage_root_all.dependency:
+      - virtualstorage_root_all
+      - dependency
+      vdu_vgw_0.dependency:
+      - vdu_vgw_0
+      - dependency
+      cp_vgw_mux_gw_private_net.virtual_binding:
+      - cp_vgw_mux_gw_private_net
+      - virtual_binding
+      cp_vgw_mux_gw_private_net.dependency:
+      - cp_vgw_mux_gw_private_net
+      - dependency
+      llu_vnf.dependency:
+      - llu_vnf
+      - dependency
+      llu_vnf.virtual_link:
+      - llu_vnf
+      - virtual_link
+      cp_vgw_mux_gw_private_net.virtual_link:
+      - cp_vgw_mux_gw_private_net
+      - virtual_link
diff --git a/s3p/templates/pciNumDevices/Definitions/resource-Vnf-template.yml b/s3p/templates/pciNumDevices/Definitions/resource-Vnf-template.yml
new file mode 100644
index 0000000..121aba2
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/resource-Vnf-template.yml
@@ -0,0 +1,70 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+  UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+  name: VNF
+  description: VNF
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    description: VNF
+    properties:
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+      product_info_name:
+        type: string
+      default_localization_language:
+        type: string
+      flavour_id:
+        type: string
+      flavour_description:
+        type: string
+      product_name:
+        type: string
+      descriptor_id:
+        type: string
+      product_info_description:
+        type: string
+      provider:
+        type: string
+      descriptor_version:
+        type: string
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+      software_version:
+        type: string
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
diff --git a/s3p/templates/pciNumDevices/Definitions/resource-Vnfvirtuallink-template.yml b/s3p/templates/pciNumDevices/Definitions/resource-Vnfvirtuallink-template.yml
new file mode 100644
index 0000000..d39b1b3
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/resource-Vnfvirtuallink-template.yml
@@ -0,0 +1,57 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+  UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+  name: VnfVirtualLink
+  description: VnfVirtualLink
+  type: VL
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    description: VnfVirtualLink
+    properties:
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+      description:
+        type: string
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/pciNumDevices/Definitions/service-Testns8-template-interface.yml b/s3p/templates/pciNumDevices/Definitions/service-Testns8-template-interface.yml
new file mode 100644
index 0000000..45fc306
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/service-Testns8-template-interface.yml
@@ -0,0 +1,176 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.service.Testns8:
+    derived_from: org.openecomp.resource.abstract.nodes.service
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+    requirements:
+    - vgw11810490.llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - vgw11810490.llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/pciNumDevices/Definitions/service-Testns8-template.yml b/s3p/templates/pciNumDevices/Definitions/service-Testns8-template.yml
new file mode 100644
index 0000000..9d9bdc3
--- /dev/null
+++ b/s3p/templates/pciNumDevices/Definitions/service-Testns8-template.yml
@@ -0,0 +1,135 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 5be056bd-1ecd-4c14-9465-3bbc994190ee
+  UUID: 188ed3c6-1573-4b2d-9d3f-a03693bed79b
+  name: TestNs8
+  description: test
+  type: Service
+  category: Network Service
+  serviceType: ''
+  serviceRole: ''
+  instantiationType: A-la-carte
+  serviceEcompNaming: true
+  ecompGeneratedNaming: true
+  namingPolicy: ''
+  environmentContext: General_Revenue-Bearing
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- service-TestNs8-interface:
+    file: service-Testns8-template-interface.yml
+- resource-vgw1181049:
+    file: resource-Vgw1181049-template.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+topology_template:
+  node_templates:
+    vgw1181049 0:
+      type: org.openecomp.resource.vf.Vgw1181049
+      metadata:
+        invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+        UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+        customizationUUID: 32efc3ac-6fd2-4cda-9f15-592e54f41560
+        version: '1.0'
+        name: ##RANDOM_RESOURCE_NAME##
+        description: test
+        type: VF
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: vendor
+        resourceVendorRelease: '1.0'
+        resourceVendorModelNumber: ''
+      properties:
+        nf_naming:
+          ecomp_generated_naming: true
+        multi_stage_design: false
+        availability_zone_max_count: 1
+      capabilities:
+        vdu_vgw_0.virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+              vdu_memory_requirements:
+                numberOfPages: '{"schemaVersion": "0","schemaSelector": "","hardwarePlatform":
+                  "generic","mandatory": "true", "configurationValue": "1024"}'
+                memoryPageSize: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform":
+                  "generic", "mandatory": "true", "configurationValue": "2 MB"}'
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+  substitution_mappings:
+    node_type: org.openecomp.service.Testns8
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+      - vgw11810490
+      - virtualstorage_root_all.virtual_storage
+      vgw11810490.llu_vnf.feature:
+      - vgw11810490
+      - llu_vnf.feature
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+      - vgw11810490
+      - vdu_vgw_0.monitoring_parameter
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+      - vgw11810490
+      - vl_mux_gw_private_net.monitoring_parameter
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.feature
+      vgw11810490.vl_mux_gw_private_net.feature:
+      - vgw11810490
+      - vl_mux_gw_private_net.feature
+      vgw11810490.vdu_vgw_0.feature:
+      - vgw11810490
+      - vdu_vgw_0.feature
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+      - vgw11810490
+      - vl_mux_gw_private_net.virtual_linkable
+      vgw11810490.vdu_vgw_0.virtual_binding:
+      - vgw11810490
+      - vdu_vgw_0.virtual_binding
+      vgw11810490.virtualstorage_root_all.feature:
+      - vgw11810490
+      - virtualstorage_root_all.feature
+      vgw11810490.vdu_vgw_0.virtual_compute:
+      - vgw11810490
+      - vdu_vgw_0.virtual_compute
+    requirements:
+      vgw11810490.vdu_vgw_0.virtual_storage:
+      - vgw11810490
+      - vdu_vgw_0.virtual_storage
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_link
+      vgw11810490.llu_vnf.dependency:
+      - vgw11810490
+      - llu_vnf.dependency
+      vgw11810490.virtualstorage_root_all.dependency:
+      - vgw11810490
+      - virtualstorage_root_all.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.dependency
+      vgw11810490.llu_vnf.virtual_link:
+      - vgw11810490
+      - llu_vnf.virtual_link
+      vgw11810490.vl_mux_gw_private_net.dependency:
+      - vgw11810490
+      - vl_mux_gw_private_net.dependency
+      vgw11810490.vdu_vgw_0.dependency:
+      - vgw11810490
+      - vdu_vgw_0.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_binding
diff --git a/s3p/templates/pciNumDevices/TOSCA-Metadata/TOSCA.meta b/s3p/templates/pciNumDevices/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000..e65ed50
--- /dev/null
+++ b/s3p/templates/pciNumDevices/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,7 @@
+TOSCA-Meta-File-Version: 1.0
+CSAR-Version: 1.1
+Created-By: Carlos Santana
+Entry-Definitions: Definitions/service-Testns8-template.yml
+
+Name: csar.meta
+Content-Type: text/plain
diff --git a/s3p/templates/pciNumDevices/csar.meta b/s3p/templates/pciNumDevices/csar.meta
new file mode 100644
index 0000000..bc3359c
--- /dev/null
+++ b/s3p/templates/pciNumDevices/csar.meta
@@ -0,0 +1,2 @@
+SDC-TOSCA-Meta-File-Version: 1.0
+SDC-TOSCA-Definitions-Version: 9.0
diff --git a/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
new file mode 100644
index 0000000..6059757
--- /dev/null
+++ b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAxsekiqwLgs9VfChnr2bnpLC3VqD1iT+s969vWe05j1RDozPu
+zyD3krNgVUcd65x2QQJWrDK2fnyQUtubbPb3wviLXs0Gof4a/b65JsMQkeeC2/OK
+aFvrE6D3heouXmWO1vo1iXy2hUhcfXdr6eM3rP3zpU9zb2Al25/90Ha8kKBpe1RS
+PKHpmcqVXIpGVxJSXnioAFXUsJ687qrTv7Zm13AHkm2L1Y5IvMsGHLFjFTGFlFoY
+ftQQAepF507CFqs66tD378vvNVg8LYqrKpnfdx2PIRNLHAa1xQWc0EvwGHyBQZRL
+hTXS3M3IZ7Y22dJ+3Zg15PMx7QmWDZO5MG/JPwIDAQABAoIBAE5KS1AiutXmezDP
+aSb4TLvcrhj8hDhuT92txxmQCV+ePJWG2sPRpDCvXX246NvnX9vy49gmkSH4RY+c
+1vZvvt2XrqzD65zZzB+sgpf1tA0DNdMTdKvtqASvHU4tEd4z+bJKEdP4vpp4CZWQ
+93vC9ia4TsIJLNns8Hwz42+7lEEResKYZA2djGnzHl+83vR1dm0GGBD6BKR1C3Cx
+HbEhqx42EV61+8nAweQNjWKxeAc2hg+H8o8qWJM1aKy0TnqW6kudOYRyYIpX0rJA
+siE2HwvDA1mDd5M8ntZ/Cx0pnTc/cuZB8BQJ0jN1JXbrJGbWspBNXformw7isbyO
+WIOjvEECgYEA84XKV3aPrTE2JBs5vzzs59NMPV+5frw+xzDyPxqK5Q7+jjVKDwxh
+/WRatCaTdRxhOI905HfVsDYjrsPOpmF9MHsLxmBhwk8zBFOu/xtYr7zBNkJhmCsq
+kZMdxf8bpu08E7kMQJ2MvT7OhM5HRlWIUR0jdja8Hz51Ro4oOb/po7kCgYEA0Pb5
+v12ZsaSHMF0r4l983PifNwYmI22iQIEtRT2DxgTkDKgBTjbRzqZmEhaADMAO48o9
+sIZy+KJ/a8G9fPQVwMgBID8zOHnWsrFmM3qkj5hhrAQdtq7OE71zgaP0tyE1TG4u
+Zs3a7eSyuoildHHFqX88oXSYsTlfV8vn23UpwLcCgYEAwXiCuBger8dQL0FeEJwz
+zz5k7MG3WoPuEEzHuPC6dp8CCDM4IlqBI1JuaX/YWQtyBgCbKsQ2BigNE1THQhJj
+5ndrdHCwWjKX4pElj9HHFN+OVTBJ3x40VLGfzuUNsAH8X+L9Y/yHivZyFrrXj352
+rZLL0KhNrzjs7WAVf0QEOCkCgYBe2s1xnZZnueyX+qMyBfBTChST0Jm9WUXejAS1
+un+3gn7Wc+jrzRyd9pC8wzPrFb9sjWBFYjKMRI8cpfxS3SWGtgM01Rt2FnBr+vUO
+hyxt9ljX0aJ/S4hGE6h7/6XU/yEHibhMeENZ24d5/w9D9WUpVJV8IMYzJHzwCKI9
+z0hdrwKBgQDMKvY3DBpZjhZe9YnOgdj4SRpNwaasUSf3a3SZYY1JyOZVUzeSSzoX
+rYLfxBRDjkJ8Nnod+nR/JSRqYa/SJYEMZEZFsC+k/pvBiaP6tk694IlpLD/2MXN6
+14FUV5LH/rGSbZJMSfZ9yNX1XZDowH8nOu+qlmlU4lmgiOuityTmtw==
+-----END RSA PRIVATE KEY-----
diff --git a/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
new file mode 100644
index 0000000..444ca79
--- /dev/null
+++ b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGx6SKrAuCz1V8KGevZueksLdWoPWJP6z3r29Z7TmPVEOjM+7PIPeSs2BVRx3rnHZBAlasMrZ+fJBS25ts9vfC+ItezQah/hr9vrkmwxCR54Lb84poW+sToPeF6i5eZY7W+jWJfLaFSFx9d2vp4zes/fOlT3NvYCXbn/3QdryQoGl7VFI8oemZypVcikZXElJeeKgAVdSwnrzuqtO/tmbXcAeSbYvVjki8ywYcsWMVMYWUWhh+1BAB6kXnTsIWqzrq0Pfvy+81WDwtiqsqmd93HY8hE0scBrXFBZzQS/AYfIFBlEuFNdLczchntjbZ0n7dmDXk8zHtCZYNk7kwb8k/
diff --git a/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
new file mode 100644
index 0000000..f31d15d
--- /dev/null
+++ b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/OTHER/image
@@ -0,0 +1 @@
+ubuntu_16.04
diff --git a/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
new file mode 100644
index 0000000..c49c2c6
--- /dev/null
+++ b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VENDOR_LICENSE/vendor-license-model.xml
@@ -0,0 +1 @@
+<vendor-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><entitlement-pool-list><entitlement-pool><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><version>1.0</version><name>entitlement pool</name><description/><increments/><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><version>1.0</version><name>license key</name><description/><type>Universal</type><increments/><manufacturerReferenceNumber/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list></vendor-license-model>
\ No newline at end of file
diff --git a/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
new file mode 100644
index 0000000..db573af
--- /dev/null
+++ b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Deployment/VF_LICENSE/vf-license-model.xml
@@ -0,0 +1 @@
+<vf-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>vendor</vendor-name><vf-id>2455e00dddf84eedaaed6eb412d39a7e</vf-id><feature-group-list><feature-group><entitlement-pool-list><entitlement-pool><name>entitlement pool</name><description/><increments/><entitlement-pool-invariant-uuid>ecfc3a2d7d9841d1b5fc09316c457a48</entitlement-pool-invariant-uuid><entitlement-pool-uuid>16C58016E38246E3963132B4E9F11829</entitlement-pool-uuid><manufacturer-reference-number>1234</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><name>license key</name><description/><type>Universal</type><increments/><license-key-group-invariant-uuid>bbc43c8138a0441b9c85fcd7dd50a8fe</license-key-group-invariant-uuid><license-key-group-uuid>1266FB83A4614370B59FF6923CB39089</license-key-group-uuid><manufacturer-reference-number/><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list><name>feature group</name><feature-group-uuid>d3780d334c4c42d38c7ab1ec23a65cfd</feature-group-uuid><part-number>4444</part-number><description/></feature-group></feature-group-list></vf-license-model>
\ No newline at end of file
diff --git a/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
new file mode 100644
index 0000000..f08e56f
--- /dev/null
+++ b/s3p/templates/pciVendorId/Artifacts/org.openecomp.resource.vf.Vgw1181049_v1.0/Informational/GUIDE/VSP_vgw1181049_Information.txt
@@ -0,0 +1,29 @@
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
+
+
+1.    VSP Details: 
+    a.    Name: vgw1181049
+    b.    Description test
+    c.    Version: 0.0
+    d.    Vendor: vendor
+    e.    Category: resourceNewCategory.generic
+    f.    License Details: 
+        i.    License Model Version: 0.0
+        ii.    License Agreement Name: b24b9792f0ec4e72818387a230acec5a
+        iii    List of Feature Groups: 
+            1.    d3780d334c4c42d38c7ab1ec23a65cfd
+    g.    High Availability 
+    h.    Storage Data Back-up Details: 
+        i.    Data Replication Required?: false
+        ii.    	Data Size to replicate in GB: null
+        iii.    Data replication frequency: null
+        iv.    Replication Source: null
+        v.    Replication Destination: null
+    3.    List of VFCs 
+        a.    For each VFC: 
+
+
+
+Proprietary information (Restricted)
+For use only by authorized individuals and not for general distribution.
\ No newline at end of file
diff --git a/s3p/templates/pciVendorId/Definitions/annotations.yml b/s3p/templates/pciVendorId/Definitions/annotations.yml
new file mode 100644
index 0000000..2f14606
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/annotations.yml
@@ -0,0 +1,30 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+annotation_types:
+  org.openecomp.annotations.Source:
+    description: Indicates the origin source of an input
+    properties:
+      source_type:
+        type: string
+      vf_module_label:
+        type: list
+        description: List of VF Modules this input was originated from
+        entry_schema:
+          type: string
+      param_name:
+        type: string
+        description: Source parameter name
diff --git a/s3p/templates/pciVendorId/Definitions/artifacts.yml b/s3p/templates/pciVendorId/Definitions/artifacts.yml
new file mode 100644
index 0000000..175615c
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/artifacts.yml
@@ -0,0 +1,42 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+artifact_types:
+  tosca.artifacts.Root:
+    description: This is the default (root) TOSCA Artifact Type definition that all other TOSCA base Artifact Types derive from.
+  tosca.artifacts.Deployment.Image:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact type represents a parent type for any "image" which is an opaque packaging of a TOSCA Node's deployment (whether real or virtual) whose contents are typically already installed and pre-configured (i.e., "stateful") and prepared to be run on a known target container.
+  tosca.artifacts.Implementation.Bash:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Bash script type that contains Bash commands that can be executed on the Unix Bash shell.
+  tosca.artifacts.Deployment.Image.VM:
+    derived_from: tosca.artifacts.Deployment
+    description: This artifact represents the parent type for all Virtual Machine (VM) image and container formatted deployment artifacts. These images contain a stateful capture of a machine (e.g., server) including operating system and installed software along with any configurations and can be run on another machine using a hypervisor which virtualizes typical server (i.e., hardware) resources.
+  tosca.artifacts.Implementation.Python:
+    derived_from: tosca.artifacts.Implementation
+    description: This artifact type represents a Python file that contains Python language constructs that can be executed within a Python interpreter.
+  tosca.artifacts.Deployment:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all deployment artifacts in TOSCA. This class of artifacts typically represents a binary packaging of an application or service that is used to install/create or deploy it as part of a node's lifecycle.
+  tosca.artifacts.File:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type is used when an artifact definition needs to have its associated file simply treated as a file and no special handling/handlers are invoked (i.e., it is not treated as either an implementation or deployment artifact type).
+  tosca.artifacts.Implementation:
+    derived_from: tosca.artifacts.Root
+    description: This artifact type represents the parent type for all implementation artifacts in TOSCA. These artifacts are used to implement operations of TOSCA interfaces either directly (e.g., scripts) or indirectly (e.g., config. files).
+  tosca.artifacts.nfv.SwImage:
+    derived_from: tosca.artifacts.Deployment.Image
diff --git a/s3p/templates/pciVendorId/Definitions/capabilities.yml b/s3p/templates/pciVendorId/Definitions/capabilities.yml
new file mode 100644
index 0000000..734c201
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/capabilities.yml
@@ -0,0 +1,293 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+capability_types:
+  tosca.capabilities.Root:
+    description: The TOSCA root Capability Type all other TOSCA base Capability Types derive from
+  tosca.capabilities.Attachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Node:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.Container:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: integer
+        required: false
+        constraints:
+        - greater_or_equal: 1
+      cpu_frequency:
+        type: scalar-unit.frequency
+        required: false
+        constraints:
+        - greater_or_equal: 0.1 GHz
+      disk_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+      mem_size:
+        type: scalar-unit.size
+        required: false
+        constraints:
+        - greater_or_equal: 0 MB
+  org.openecomp.capabilities.PortMirroring:
+    derived_from: tosca.capabilities.Root
+    properties:
+      connection_point:
+        type: org.openecomp.datatypes.PortMirroringConnectionPointDescription
+  tosca.capabilities.Endpoint:
+    derived_from: tosca.capabilities.Root
+    properties:
+      protocol:
+        type: string
+        default: tcp
+      port:
+        type: PortDef
+        required: false
+      secure:
+        type: boolean
+        default: false
+      url_path:
+        type: string
+        required: false
+      port_name:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+        default: PRIVATE
+      initiator:
+        type: string
+        default: source
+        constraints:
+        - valid_values:
+          - source
+          - target
+          - peer
+      ports:
+        type: map
+        required: false
+        constraints:
+        - min_length: 1
+        entry_schema:
+          type: PortSpec
+    attributes:
+      ip_address:
+        type: string
+  tosca.capabilities.DatabaseEndpoint:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.Endpoint.Public:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      network_name: PUBLIC
+      floating:
+        description: |
+          indicates that the public address should be allocated from a pool of floating IPs that are associated with the network.
+        type: boolean
+        default: false
+        status: experimental
+      dns_name:
+        description: The optional name to register with DNS
+        type: string
+        required: false
+        status: experimental
+  tosca.capabilities.Endpoint.Admin:
+    derived_from: tosca.capabilities.Endpoint
+    properties:
+      secure: true
+  tosca.capabilities.Endpoint.Database:
+    derived_from: tosca.capabilities.Endpoint
+  tosca.capabilities.OperatingSystem:
+    derived_from: tosca.capabilities.Root
+    properties:
+      architecture:
+        type: string
+        required: false
+      type:
+        type: string
+        required: false
+      distribution:
+        type: string
+        required: false
+      version:
+        type: version
+        required: false
+  tosca.capabilities.Scalable:
+    derived_from: tosca.capabilities.Root
+    properties:
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      default_instances:
+        type: integer
+  tosca.capabilities.network.Bindable:
+    derived_from: tosca.capabilities.Node
+  tosca.capabilities.Container.Docker:
+    derived_from: tosca.capabilities.Container
+    properties:
+      version:
+        type: list
+        required: false
+        entry_schema: version
+      publish_all:
+        type: boolean
+        default: false
+        required: false
+      publish_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      expose_ports:
+        type: list
+        entry_schema: PortSpec
+        required: false
+      volumes:
+        type: list
+        entry_schema: string
+        required: false
+  tosca.capabilities.network.Linkable:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.AllottedResource:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Metric:
+    derived_from: tosca.capabilities.Endpoint
+  org.openecomp.capabilities.Metric:
+    derived_from: tosca.capabilities.nfv.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored.
+    properties:
+      unit:
+        type: string
+        description: Unit of the metric value
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: Description of the metric
+        required: false
+        status: SUPPORTED
+      type:
+        type: string
+        description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+        required: true
+        status: SUPPORTED
+      category:
+        type: string
+        description: Category of the metric, for an example, compute, disk, network, storage and etc.
+        required: false
+        status: SUPPORTED
+    attributes:
+      value:
+        type: string
+        description: Runtime monitored value
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.Ceilometer:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+    properties:
+      name:
+        type: string
+        description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpPolling:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp polling.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.metric.SnmpTrap:
+    derived_from: org.openecomp.capabilities.Metric
+    description: A node type that includes the Metric capability indicates that it can be monitored using snmp trap.
+    properties:
+      oid:
+        type: string
+        description: Object Id of the metric
+        required: true
+        status: SUPPORTED
+  org.openecomp.capabilities.Forwarder:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.VLANAssignment:
+    derived_from: tosca.capabilities.Root
+    description: ability to expose routing information of the internal network
+    properties:
+      vfc_instance_group_reference:
+        type: string
+        description: Ability to recognize capability per vfc instance group on vnf instance
+        required: true
+  org.openecomp.capabilities.RoutingConfiguration:
+    derived_from: tosca.capabilities.Root
+  org.openecomp.capabilities.FabricConfiguration:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualStorage:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualCompute:
+    derived_from: tosca.capabilities.Root
+    properties:
+      logical_node:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+      compute_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      requested_additional_capabilities:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.RequestedAdditionalCapability
+        required: false
+      virtual_memory:
+        type: tosca.datatypes.nfv.VirtualMemory
+        required: true
+      virtual_cpu:
+        type: tosca.datatypes.nfv.VirtualCpu
+        required: true
+  tosca.capabilities.nfv.VirtualBindable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.VirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ExtVirtualLinkable:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.Forwarder:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.GuestOs:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.ImageFile:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.LocalAttachment:
+    derived_from: tosca.capabilities.Root
+  tosca.capabilities.nfv.ext.Compute.Container.Architecture:
+    derived_from: tosca.capabilities.Root
+    properties:
+      num_cpus:
+        type: string
+        required: false
+      flavor_extra_specs:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      mem_size:
+        type: string
+        required: false
diff --git a/s3p/templates/pciVendorId/Definitions/data.yml b/s3p/templates/pciVendorId/Definitions/data.yml
new file mode 100644
index 0000000..0ff7179
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/data.yml
@@ -0,0 +1,1733 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+data_types:
+  tosca.datatypes.Root:
+    description: The TOSCA root Data Type all other TOSCA base Data Types derive from
+  integer:
+    derived_from: tosca.datatypes.Root
+  string:
+    derived_from: tosca.datatypes.Root
+  boolean:
+    derived_from: tosca.datatypes.Root
+  float:
+    derived_from: tosca.datatypes.Root
+  list:
+    derived_from: tosca.datatypes.Root
+  map:
+    derived_from: tosca.datatypes.Root
+  json:
+    derived_from: tosca.datatypes.Root
+  scalar-unit:
+    derived_from: tosca.datatypes.Root
+  scalar-unit.size:
+    derived_from: scalar-unit
+  scalar-unit.time:
+    derived_from: scalar-unit
+  scalar-unit.frequency:
+    derived_from: scalar-unit
+  tosca.datatypes.Credential:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: false
+      token_type:
+        type: string
+        default: password
+      token:
+        type: string
+      keys:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+      user:
+        type: string
+        required: false
+  org.openecomp.datatypes.PortMirroringConnectionPointDescription:
+    derived_from: tosca.datatypes.Root
+    properties:
+      nf_naming_code:
+        type: string
+      nfc_naming_code:
+        type: string
+      network_role:
+        type: string
+      pps_capacity:
+        type: string
+      nf_type:
+        type: string
+        description: deprecated
+      nfc_type:
+        type: string
+        description: deprecated
+  tosca.datatypes.TimeInterval:
+    derived_from: tosca.datatypes.Root
+    properties:
+      start_time:
+        type: timestamp
+        required: true
+      end_time:
+        type: timestamp
+        required: true
+  tosca.datatypes.network.NetworkInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      network_name:
+        type: string
+      network_id:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      port_name:
+        type: string
+      port_id:
+        type: string
+      network_id:
+        type: string
+      mac_address:
+        type: string
+      addresses:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.network.PortDef:
+    derived_from: integer
+    constraints:
+    - in_range:
+      - 1
+      - 65535
+  tosca.datatypes.network.PortSpec:
+    derived_from: tosca.datatypes.Root
+    properties:
+      protocol:
+        type: string
+        required: true
+        default: tcp
+        constraints:
+        - valid_values:
+          - udp
+          - tcp
+          - igmp
+      target:
+        type: tosca.datatypes.network.PortDef
+      target_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+      source:
+        type: tosca.datatypes.network.PortDef
+      source_range:
+        type: range
+        constraints:
+        - in_range:
+          - 1
+          - 65535
+  org.openecomp.datatypes.heat.network.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: MAC/IP address pairs
+    properties:
+      mac_address:
+        type: string
+        description: MAC address
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.subnet.HostRoute:
+    derived_from: tosca.datatypes.Root
+    description: Host route info for the subnet
+    properties:
+      destination:
+        type: string
+        description: The destination for static route
+        required: false
+        status: SUPPORTED
+      nexthop:
+        type: string
+        description: The next hop for the destination
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.AllocationPool:
+    derived_from: tosca.datatypes.Root
+    description: The start and end addresses for the allocation pool
+    properties:
+      start:
+        type: string
+        description: Start address for the allocation pool
+        required: false
+        status: SUPPORTED
+      end:
+        type: string
+        description: End address for the allocation pool
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.Subnet:
+    derived_from: tosca.datatypes.Root
+    description: A subnet represents an IP address block that can be used for assigning IP addresses to virtual instances
+    properties:
+      tenant_id:
+        type: string
+        description: The ID of the tenant who owns the network
+        required: false
+        status: SUPPORTED
+      enable_dhcp:
+        type: boolean
+        description: Set to true if DHCP is enabled and false if DHCP is disabled
+        required: false
+        default: true
+        status: SUPPORTED
+      ipv6_address_mode:
+        type: string
+        description: IPv6 address mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      ipv6_ra_mode:
+        type: string
+        description: IPv6 RA (Router Advertisement) mode
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - dhcpv6-stateful
+          - dhcpv6-stateless
+          - slaac
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      allocation_pools:
+        type: list
+        description: The start and end addresses for the allocation pools
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AllocationPool
+      subnetpool:
+        type: string
+        description: The name or ID of the subnet pool
+        required: false
+        status: SUPPORTED
+      dns_nameservers:
+        type: list
+        description: A specified set of DNS name servers to be used
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      host_routes:
+        type: list
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.subnet.HostRoute
+      ip_version:
+        type: integer
+        description: The gateway IP address
+        required: false
+        default: 4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - '4'
+          - '6'
+      name:
+        type: string
+        description: The name of the subnet
+        required: false
+        status: SUPPORTED
+      prefixlen:
+        type: integer
+        description: Prefix length for subnet allocation from subnet pool
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      cidr:
+        type: string
+        description: The CIDR
+        required: false
+        status: SUPPORTED
+      gateway_ip:
+        type: string
+        description: The gateway IP address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.novaServer.network.PortExtraProperties:
+    derived_from: tosca.datatypes.Root
+    description: Nova server network expand properties for port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the port
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: The administrative state of this port
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this port
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.novaServer.network.AddressInfo:
+    derived_from: tosca.datatypes.network.NetworkInfo
+    description: Network addresses with corresponding port id
+    properties:
+      port_id:
+        type: string
+        description: Port id
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.neutron.port.FixedIps:
+    derived_from: tosca.datatypes.Root
+    description: subnet/ip_address
+    properties:
+      subnet:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP address desired in the subnet for this port
+        required: false
+        status: SUPPORTED
+      subnet_id:
+        type: string
+        description: Subnet in which to allocate the IP address for this port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.FileInfo:
+    derived_from: tosca.datatypes.Root
+    description: Heat File Info
+    properties:
+      file:
+        type: string
+        description: The required URI string (relative or absolute) which can be used to locate the file
+        required: true
+        status: SUPPORTED
+      file_type:
+        type: string
+        description: The type of the file
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - base
+          - env
+          - volume
+          - network
+  org.openecomp.datatypes.heat.contrail.network.rule.PortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source and destination port pairs
+    properties:
+      start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      apply_service:
+        type: string
+        description: Service to apply
+        required: false
+        status: SUPPORTED
+      dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
+      src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
+      direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrail.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrail.network.rule.Rule
+  org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source and destination addresses
+    properties:
+      virtual_network:
+        type: string
+        description: Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule:
+    derived_from: tosca.datatypes.Root
+    description: Rules Pairs
+    properties:
+      remote_group_id:
+        type: string
+        description: The remote group ID to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      protocol:
+        type: string
+        description: The protocol that is matched by the security group rule
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - tcp
+          - udp
+          - icmp
+      ethertype:
+        type: string
+        description: Ethertype of the traffic
+        required: false
+        default: IPv4
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - IPv4
+          - IPv6
+      port_range_max:
+        type: integer
+        description: 'The maximum port number in the range that is matched by the
+          security group rule. '
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+      remote_ip_prefix:
+        type: string
+        description: The remote IP prefix (CIDR) to be associated with this security group rule
+        required: false
+        status: SUPPORTED
+      remote_mode:
+        type: string
+        description: Whether to specify a remote group or a remote IP prefix
+        required: false
+        default: remote_ip_prefix
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - remote_ip_prefix
+          - remote_group_id
+      direction:
+        type: string
+        description: The direction in which the security group rule is applied
+        required: false
+        default: ingress
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - egress
+          - ingress
+      port_range_min:
+        type: integer
+        description: The minimum port number in the range that is matched by the security group rule.
+        required: false
+        status: SUPPORTED
+        constraints:
+        - in_range:
+          - 0
+          - 65535
+  org.openecomp.datatypes.heat.substitution.SubstitutionFiltering:
+    derived_from: tosca.datatypes.Root
+    description: Substitution Filter
+    properties:
+      substitute_service_template:
+        type: string
+        description: Substitute Service Template
+        required: true
+        status: SUPPORTED
+      index_value:
+        type: integer
+        description: Index value of the substitution service template runtime instance
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      count:
+        type: string
+        description: Count
+        required: false
+        default: 1
+        status: SUPPORTED
+      scaling_enabled:
+        type: boolean
+        description: Indicates whether service scaling is enabled
+        required: false
+        default: true
+        status: SUPPORTED
+      mandatory:
+        type: boolean
+        description: Mandatory
+        required: false
+        default: true
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data sequence
+    properties:
+      network_policy_refs_data_sequence_major:
+        type: integer
+        description: Network Policy ref data sequence Major
+        required: false
+        status: SUPPORTED
+      network_policy_refs_data_sequence_minor:
+        type: integer
+        description: Network Policy ref data sequence Minor
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData:
+    derived_from: tosca.datatypes.Root
+    description: network policy refs data
+    properties:
+      network_policy_refs_data_sequence:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence
+        description: Network Policy ref data sequence
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix len
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_subnet_ip_prefix:
+        type: string
+        description: Network ipam refs data ipam subnets ip prefix
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data Subnet List
+    properties:
+      network_ipam_refs_data_ipam_subnets_subnet:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+      network_ipam_refs_data_ipam_subnets_addr_from_start:
+        type: string
+        description: Network ipam refs data ipam subnets addr from start
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData:
+    derived_from: tosca.datatypes.Root
+    description: Network Ipam Ref Data
+    properties:
+      network_ipam_refs_data_ipam_subnets:
+        type: list
+        description: Network ipam refs data ipam subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: source addresses
+    properties:
+      network_policy_entries_policy_rule_src_addresses_virtual_network:
+        type: string
+        description: Source addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork:
+    derived_from: tosca.datatypes.Root
+    description: destination addresses
+    properties:
+      network_policy_entries_policy_rule_dst_addresses_virtual_network:
+        type: string
+        description: Destination addresses Virtual network
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: destination port pairs
+    properties:
+      network_policy_entries_policy_rule_dst_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_dst_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs:
+    derived_from: tosca.datatypes.Root
+    description: source port pairs
+    properties:
+      network_policy_entries_policy_rule_src_ports_start_port:
+        type: string
+        description: Start port
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports_end_port:
+        type: string
+        description: End port
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList:
+    derived_from: tosca.datatypes.Root
+    description: Action List
+    properties:
+      network_policy_entries_policy_rule_action_list_simple_action:
+        type: string
+        description: Simple Action
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_action_list_apply_service:
+        type: list
+        description: Apply Service
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.network.rule.Rule:
+    derived_from: tosca.datatypes.Root
+    description: policy rule
+    properties:
+      network_policy_entries_policy_rule_dst_addresses:
+        type: list
+        description: Destination addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork
+      network_policy_entries_policy_rule_dst_ports:
+        type: list
+        description: Destination ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs
+      network_policy_entries_policy_rule_protocol:
+        type: string
+        description: Protocol
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_addresses:
+        type: list
+        description: Source addresses
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork
+      network_policy_entries_policy_rule_direction:
+        type: string
+        description: Direction
+        required: false
+        status: SUPPORTED
+      network_policy_entries_policy_rule_src_ports:
+        type: list
+        description: Source ports
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs
+      network_policy_entries_policy_rule_action_list:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList
+        description: Action list
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList:
+    derived_from: tosca.datatypes.Root
+    description: list of policy rules
+    properties:
+      network_policy_entries_policy_rule:
+        type: list
+        description: Contrail network rule
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.network.rule.Rule
+  org.openecomp.datatypes.heat.network.contrail.port.StaticRoute:
+    derived_from: tosca.datatypes.Root
+    description: static route
+    properties:
+      prefix:
+        type: string
+        description: Route prefix
+        required: false
+        status: SUPPORTED
+      next_hop:
+        type: string
+        description: Next hop
+        required: false
+        status: SUPPORTED
+      next_hop_type:
+        type: string
+        description: Next hop type
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Address Pair
+    properties:
+      address_mode:
+        type: string
+        description: Address mode active-active or active-standy
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - active-active
+          - active-standby
+      prefix:
+        type: string
+        description: IP address prefix
+        required: false
+        status: SUPPORTED
+      mac_address:
+        type: string
+        description: Mac address
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.network.contrail.InterfaceData:
+    derived_from: tosca.datatypes.Root
+    description: Interface Data
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Interface Properties.
+    properties:
+      virtual_machine_interface_properties_service_interface_type:
+        type: string
+        description: Service Interface Type.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.Root:
+    derived_from: tosca.datatypes.Root
+    description: |
+      The ECOMP root Data Type all other Data Types derive from
+    properties:
+      supplemental_data:
+        type: map
+        entry_schema:
+          description: |
+            A placeholder for missing properties that would be included in future ecomp model versions. fromat <key>:<value>
+          type: string
+  org.openecomp.datatypes.AssignmentRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_required:
+        description: |
+          "true" indicates that assignment is required
+        type: boolean
+        default: false
+        required: true
+      count:
+        description: number of assignments required
+        type: integer
+        required: false
+  org.openecomp.datatypes.network.SubnetAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_network_address_plan:
+        type: string
+        required: false
+        description: Reference to EIPAM, VLAN or other address plan ID used to assign subnets to this network
+      dhcp_enabled:
+        type: boolean
+        required: false
+        description: \"true\" indicates the network has 1 or more policies
+      ip_version:
+        type: integer
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+        required: true
+        description: The IP version of the subnet
+      cidr_mask:
+        type: integer
+        required: true
+        description: The default subnet CIDR mask
+      min_subnets_count:
+        type: integer
+        default: 1
+        required: true
+        description: Quantity of subnets that must be initially assigned
+  org.openecomp.datatypes.network.IPv4SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv4:
+        type: boolean
+        required: true
+        description: Indicates IPv4 subnet assignments
+  org.openecomp.datatypes.network.IPv6SubnetAssignments:
+    derived_from: org.openecomp.datatypes.network.SubnetAssignments
+    properties:
+      use_ipv6:
+        type: boolean
+        required: true
+        description: Indicates IPv6 subnet assignments
+  org.openecomp.datatypes.network.NetworkAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_network_assignment:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the network assignments will be auto-generated by ECOMP \"false\" indicates operator-supplied Network assignments file upload is required (e.g. VID will present prompt to operator to upload operator-supplied Network assignments file).
+      is_shared_network:
+        type: boolean
+        required: true
+        description: \"true\" means this network is shared by multiple Openstack tenants
+      is_external_network:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" means this Contrail external network
+      ipv4_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv4SubnetAssignments
+        required: true
+        description: IPv4 defualt subnet assignments
+      ipv6_subnet_default_assignment:
+        type: org.openecomp.datatypes.network.IPv6SubnetAssignments
+        required: true
+        description: IPv6 defualt subnet assignments
+      related_networks:
+        type: list
+        required: false
+        description: Related Networks List.
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+      is_trunked:
+        type: boolean
+        required: true
+        description: \"true\" indicates that network is trunked
+        default: false
+  org.openecomp.datatypes.network.ProviderNetwork:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_provider_network:
+        type: boolean
+        required: true
+        description: \"true\" indicates that this a Neutron provider type of network
+      physical_network_name:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Physnet41
+          - Physnet42
+          - Physnet43
+          - Physnet44
+          - Physnet21
+          - Physnet22
+          - sriovnet1
+          - sriovnet2
+          - oam
+        description: |
+          Identifies the NUMA processor cluster to which this physical network interface belongs. NUMA instance correlates to the first digit of the Physical Network Name suffix (e.g. \"01\" = NUMA 0, \"11\" = NUMA 1)
+      numa:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - NUMA 0
+          - NUMA 1
+        description: |
+          PNIC instance within the NUMA processor cluster PNIC Instance correlates to the second digit of the Physical Network Name suffix (e.g. "01" = PNIC 1, "02" = "PNIC 2)
+      pnic_instance:
+        type: integer
+        required: false
+        description: PNIC instance within the NUMA processor cluster
+  org.openecomp.datatypes.network.NetworkFlows:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      is_network_policy:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more policies
+      network_policy:
+        type: string
+        required: false
+        description: 'Identifies the specific Cloud network policy that must be applied
+          to this network (source: from Policy Manager).'
+      is_bound_to_vpn:
+        type: boolean
+        required: false
+        default: false
+        description: \"true\" indicates the network has 1 or more vpn bindings
+      vpn_binding:
+        type: string
+        required: false
+        description: 'Identifies the specific VPN Binding entry in A&AI that must
+          be applied when creating this network (source: A&AI)'
+  org.openecomp.datatypes.network.VlanRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      vlan_range_plan:
+        type: string
+        required: true
+        description: reference to a vlan range plan
+      vlan_type:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - c-tag
+          - s-tag
+        description: identifies the vlan type (e.g., c-tag)
+      vlan_count:
+        type: integer
+        required: true
+        description: identifies the number of vlan tags to assign to the CP from the plan
+  org.openecomp.datatypes.network.IpRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: true
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      ip_count:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: integer
+        required: false
+      floating_ip_count:
+        type: integer
+        required: false
+      subnet_role:
+        type: string
+        required: false
+      assingment_method:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - fixed
+          - dhcp
+      dhcp_enabled:
+        type: boolean
+        required: false
+      ip_count_required:
+        description: identifies the number of ip address to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      floating_ip_count_required:
+        type: org.openecomp.datatypes.AssignmentRequirements
+        required: false
+      ip_address_plan_name:
+        type: string
+        required: false
+      vrf_name:
+        type: string
+        required: false
+  org.openecomp.datatypes.network.MacAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        type: string
+        required: true
+        description: reference to a MAC address range plan
+      mac_count:
+        type: integer
+        required: true
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+  org.openecomp.datatypes.EcompHoming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_selected_instance_node_target:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          \"true\" indicates that the target deployment node for this instance will be auto-selected by ECOMP \"false\" indicates operator-supplied instance target deployment node required (e.g. VID will present a prompt to operator and collect the operator-selected target node for the deployment of this Network instance).
+      homing_policy:
+        type: string
+        required: false
+        description: Referenc to a service level homing policy that ECOMP will use for instance deployment target node
+      instance_node_target:
+        type: string
+        required: false
+        description: Instance target deployment node
+  org.openecomp.datatypes.EcompNaming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        type: boolean
+        required: true
+        default: true
+        description: |
+          \"true\" indicates that the name for the instance will be auto-generated by ECOMP. \"false\" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+      naming_policy:
+        type: string
+        required: false
+        description: Referenc to naming policy that ECOMP will use when the name is auto-generated
+  org.openecomp.datatypes.network.MacRequirements:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      mac_range_plan:
+        description: reference to a MAC address range plan
+        type: string
+        required: false
+      mac_count:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: integer
+        required: false
+      mac_count_required:
+        description: identifies the number of MAC addresses to assign to the CP from the plan
+        type: org.openecomp.datatypes.AssignmentRequirements
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair IP.
+    properties:
+      ip_prefix:
+        type: string
+        description: IP Prefix.
+        required: false
+        status: SUPPORTED
+      ip_prefix_len:
+        type: integer
+        description: IP Prefix Len.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Mac Address.
+    properties:
+      mac_address:
+        type: list
+        description: Mac Addresses List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface VLAN Properties.
+    properties:
+      sub_interface_vlan_tag:
+        type: string
+        description: Sub Interface VLAN Tag.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pair.
+    properties:
+      address_mode:
+        type: string
+        description: Address Mode.
+        required: false
+        status: SUPPORTED
+      ip:
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp
+        description: IP.
+        required: false
+        status: SUPPORTED
+      mac:
+        type: string
+        description: Mac.
+        required: false
+        status: SUPPORTED
+  org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs:
+    derived_from: tosca.datatypes.Root
+    description: Virtual Machine Sub Interface Address Pairs.
+    properties:
+      allowed_address_pair:
+        type: list
+        description: Addresses pair List.
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair
+  org.openecomp.datatypes.Naming:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      ecomp_generated_naming:
+        description: |
+          "true" indicates that the name for the instance will be auto-generated by ECOMP. "false" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: boolean
+        default: true
+        required: true
+      naming_policy:
+        description: Reference to naming policy that ECOMP will use when the name is auto-generated
+        type: string
+        required: false
+      instance_name:
+        description: indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
+        type: string
+        required: false
+  org.openecomp.datatypes.flavors.ComputeFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      num_cpus:
+        type: integer
+      disk_size:
+        type: scalar-unit.size
+      mem_size:
+        type: scalar-unit.size
+  org.openecomp.datatypes.flavors.LicenseFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      feature_group_uuid:
+        type: string
+  org.openecomp.datatypes.flavors.VendorInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      manufacturer_reference_number:
+        type: string
+      vendor_model:
+        type: string
+  org.openecomp.datatypes.flavors.DeploymentFlavor:
+    derived_from: tosca.datatypes.Root
+    properties:
+      sp_part_number:
+        type: string
+      vendor_info:
+        type: org.openecomp.datatypes.flavors.VendorInfo
+      compute_flavor:
+        type: org.openecomp.datatypes.flavors.ComputeFlavor
+      license_flavor:
+        type: org.openecomp.datatypes.flavors.LicenseFlavor
+        required: false
+  org.openecomp.datatypes.ImageInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      software_version:
+        type: string
+      file_name:
+        type: string
+      file_hash:
+        type: string
+        description: checksum/signature
+      file_hash_type:
+        type: string
+        required: false
+        default: md5
+  org.openecomp.datatypes.network.RelatedNetworksAssignments:
+    derived_from: org.openecomp.datatypes.Root
+    properties:
+      related_network_role:
+        type: string
+        description: The network role of the related network, sharing provider network.
+        required: false
+  tosca.datatypes.nfv.VnfcConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      additional_vnfc_configurable_properties:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.RequestedAdditionalCapability:
+    derived_from: tosca.datatypes.Root
+    properties:
+      support_mandatory:
+        type: boolean
+        required: true
+      min_requested_additional_capability_version:
+        type: string
+        required: false
+      preferred_requested_additional_capability_version:
+        type: string
+        required: false
+      requested_additional_capability_name:
+        type: string
+        required: true
+      target_performance_parameters:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+  tosca.datatypes.nfv.VirtualMemory:
+    derived_from: tosca.datatypes.Root
+    properties:
+      virtual_mem_size:
+        type: scalar-unit.size
+        required: true
+      virtual_mem_oversubscription_policy:
+        type: string
+        required: false
+      vdu_memory_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      numa_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VirtualCpuPinning:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_pinning_policy:
+        type: string
+        constraints:
+        - valid_values:
+          - static
+          - dynamic
+        required: false
+      cpu_pinning_map:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualCpu:
+    derived_from: tosca.datatypes.Root
+    properties:
+      cpu_architecture:
+        type: string
+        required: false
+      num_virtual_cpu:
+        type: integer
+        required: true
+      virtual_cpu_clock:
+        type: scalar-unit.frequency
+        required: false
+      virtual_cpu_oversubscription_policy:
+        type: string
+        required: false
+      vdu_cpu_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      virtual_cpu_pinning:
+        type: tosca.datatypes.nfv.VirtualCpuPinning
+        required: false
+  tosca.datatypes.nfv.LogicalNodeData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      logical_node_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      support_mandatory:
+        type: boolean
+        required: true
+      requirement:
+        type: string
+        required: false
+      network_interface_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: true
+      nic_io_requirements:
+        type: tosca.datatypes.nfv.LogicalNodeData
+        required: false
+  tosca.datatypes.nfv.injectFile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      source_path:
+        type: string
+        required: true
+      dest_path:
+        type: string
+        required: true
+  tosca.datatypes.nfv.L2AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      mac_address_assignment:
+        type: boolean
+        required: true
+      address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.L3AddressData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      ip_address_assignment:
+        type: boolean
+        required: true
+      floating_ip_activated:
+        type: boolean
+        required: true
+      ip_address_type:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - ipv4
+          - ipv6
+      number_of_ip_address:
+        type: integer
+        required: false
+      fixed_ip_address:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+  tosca.datatypes.nfv.AddressData:
+    properties:
+      address_type:
+        constraints:
+        - valid_values:
+          - mac_address
+          - ip_address
+        type: string
+        required: true
+      l2_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L2AddressData
+      l3_address_data:
+        required: false
+        type: tosca.datatypes.nfv.L3AddressData
+  tosca.datatypes.nfv.ConnectivityType:
+    derived_from: tosca.datatypes.Root
+    properties:
+      layer_protocol:
+        type: string
+        required: true
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo_wire
+      flow_pattern:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - Line
+          - Tree
+          - Mesh
+  tosca.datatypes.nfv.VlFlavour:
+    derived_from: tosca.datatypes.Root
+    properties:
+      flavourId:
+        type: string
+  tosca.datatypes.nfv.ext.AddressPairs:
+    properties:
+      ip:
+        type: string
+        required: false
+      mac:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.FloatingIP:
+    properties:
+      external_network:
+        type: string
+        required: false
+      ip_address:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocationInfo:
+    properties:
+      availability_zone:
+        type: string
+        required: false
+      vimid:
+        type: integer
+        required: false
+      tenant:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.HostRouteInfo:
+    properties:
+      destination:
+        type: string
+        required: false
+      nexthop:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.InjectData:
+    properties:
+      file_name:
+        type: string
+        required: false
+      file_data:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.zte.WatchDog:
+    properties:
+      enable_delay:
+        type: integer
+        required: false
+      action:
+        type: string
+        required: false
+  tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule:
+    properties:
+      scope:
+        type: string
+        required: false
+      affinity_antiaffinity:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VduProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_number_of_instances:
+        type: integer
+        required: true
+      max_number_of_instances:
+        type: integer
+        required: true
+      watchdog:
+        type: string
+        required: true
+      vmBootUpTimeOut:
+        type: integer
+        required: false
+  tosca.datatypes.nfv.LinkBitRateRequirements:
+    derived_from: tosca.datatypes.Root
+    properties:
+      root:
+        type: integer
+        required: true
+      leaf:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.Qos:
+    derived_from: tosca.datatypes.Root
+    properties:
+      latency:
+        type: integer
+        required: true
+      packet_delay_variation:
+        type: integer
+        required: true
+      packet_loss_ratio:
+        type: float
+        constraints:
+        - in_range:
+          - 0.0
+          - 1.0
+        required: false
+  tosca.datatypes.nfv.VlProfile:
+    derived_from: tosca.datatypes.Root
+    properties:
+      max_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      min_bit_rate_requirements:
+        type: tosca.datatypes.nfv.LinkBitRateRequirements
+        required: true
+      qos:
+        type: tosca.datatypes.nfv.Qos
+        required: false
+      initiationParameters:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      cidr:
+        type: string
+        required: false
+      networkName:
+        type: string
+        required: false
+      startIp:
+        type: string
+        required: false
+      endIp:
+        type: string
+        required: false
+      gatewayIp:
+        type: string
+        required: false
+      segmentationId:
+        type: integer
+        required: false
+      physicalNetwork:
+        type: string
+        required: false
+      networkType:
+        type: string
+        required: false
+        constraints:
+        - valid_values:
+          - VLAN
+          - VXLAN
+      dhcpEnabled:
+        type: boolean
+        required: false
+      vlanTransparent:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VduLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      number_of_instances:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleInfo:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaleLevel:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.ScaleAspect:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      associated_group:
+        type: string
+        required: false
+      max_scale_level:
+        type: integer
+        required: true
+  tosca.datatypes.nfv.InstantiationLevel:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: true
+      vdu_levels:
+        type: map
+        required: true
+        entry_schema:
+          type: tosca.datatypes.nfv.VduLevel
+      scale_info:
+        type: map
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ScaleInfo
+  tosca.datatypes.nfv.VnfScaleOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scaling_by_more_than_one_step_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      arbitrary_target_levels_supported:
+        type: boolean
+  tosca.datatypes.nfv.VnfHealOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      causes:
+        type: list
+        entry_schema:
+          type: string
+  tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfOperateOperationConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      min_graceful_termination_timeout:
+        type: integer
+      max_recommended_graceful_termination_timeout:
+        type: integer
+  tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
+    derived_from: tosca.datatypes.Root
+    properties:
+      scale:
+        type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
+      scale_to_level:
+        type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
+      heal:
+        type: tosca.datatypes.nfv.VnfHealOperationConfiguration
+      terminate:
+        type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
+      operate:
+        type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
+  tosca.datatypes.nfv.CpProtocolData:
+    derived_from: tosca.datatypes.Root
+    properties:
+      asscociated_layer_protocol:
+        type: string
+        constraints:
+        - valid_values:
+          - ethernet
+          - mpls
+          - odu2
+          - ipv4
+          - ipv6
+          - pseudo-wire
+        required: true
+      address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.datatypes.nfv.VnfConfigurableProperties:
+    derived_from: tosca.datatypes.Root
+    properties:
+      is_autoscale_enabled:
+        type: boolean
+        required: false
+      is_autoheal_enabled:
+        type: boolean
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+    derived_from: tosca.datatypes.Root
+    properties:
+      description:
+        type: string
+        required: false
+  tosca.datatypes.nfv.VnfInfoModifiableAttributes:
+    derived_from: tosca.datatypes.Root
+    properties:
+      extensions:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
+        required: false
+      metadata:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
+        required: false
diff --git a/s3p/templates/pciVendorId/Definitions/groups.yml b/s3p/templates/pciVendorId/Definitions/groups.yml
new file mode 100644
index 0000000..f8be60d
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/groups.yml
@@ -0,0 +1,133 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+group_types:
+  tosca.groups.Root:
+    description: The TOSCA Group Type all other TOSCA Group Types derive from
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  org.openecomp.groups.heat.HeatStack:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same heat stack
+    properties:
+      heat_file:
+        type: string
+        description: Heat file which associate to this group/heat stack
+        required: true
+        status: SUPPORTED
+      description:
+        type: string
+        description: group description
+        required: true
+        status: SUPPORTED
+  org.openecomp.groups.VfModule:
+    derived_from: tosca.groups.Root
+    description: Grouped all heat resources which are in the same VF Module
+    properties:
+      isBase:
+        type: boolean
+        description: Whether this module should be deployed before other modules
+        required: true
+        default: false
+        status: SUPPORTED
+      vf_module_label:
+        type: string
+        required: true
+        description: |
+          Alternate textual key used to reference this VF-Module model.  Must be unique within the VNF model
+      vf_module_description:
+        type: string
+        required: true
+        description: |
+          Description of the VF-modules contents and purpose   (e.g. "Front-End" or "Database Cluster")
+      min_vf_module_instances:
+        type: integer
+        required: true
+        description: The minimum instances of this VF-Module
+      max_vf_module_instances:
+        type: integer
+        required: false
+        description: The maximum instances of this VF-Module
+      initial_count:
+        type: integer
+        required: false
+        description: |
+          The initial count of instances of the VF-Module. The value must be in the  range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances.
+      vf_module_type:
+        type: string
+        required: true
+        constraint:
+        - valid_values:
+          - Base
+          - Expansion
+      volume_group:
+        type: boolean
+        required: true
+        default: false
+        description: |
+          "true" indicates that this VF Module model requires attachment to a Volume   Group.  VID operator must select the Volume Group instance to attach to a VF-Module  at deployment time.
+      availability_zone_count:
+        type: integer
+        required: false
+        description: |
+          Quantity of Availability Zones needed for this VF-Module     (source: Extracted from VF-Module HEAT template)
+      vfc_list:
+        type: map
+        entry_schema:
+          description: <vfc_id>:<count>
+          type: string
+        required: false
+        description: |
+          Identifies the set of VM types and their count included in the VF-Module
+  org.openecomp.groups.NetworkCollection:
+    derived_from: tosca.groups.Root
+    description: groups l3-networks in network collection
+    properties:
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function
+      network_collection_description:
+        type: string
+        required: true
+        description: network collection description, free format text
+  org.openecomp.groups.VfcInstanceGroup:
+    derived_from: tosca.groups.Root
+    description: groups VFCs with same parent port role
+    properties:
+      vfc_instance_group_function:
+        type: string
+        required: true
+        description: function of this VFC group
+      vfc_parent_port_role:
+        type: string
+        required: true
+        description: common role of parent ports of VFCs in this group
+      network_collection_function:
+        type: string
+        required: true
+        description: network collection function assigned to this group
+      subinterface_role:
+        type: string
+        required: true
+        description: common role of subinterfaces of VFCs in this group, criteria the group is created
+    capabilities:
+      vlan_assignment:
+        type: org.openecomp.capabilities.VLANAssignment
+        properties:
+          vfc_instance_group_reference:
+            type: string
diff --git a/s3p/templates/pciVendorId/Definitions/interfaces.yml b/s3p/templates/pciVendorId/Definitions/interfaces.yml
new file mode 100644
index 0000000..a11c716
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/interfaces.yml
@@ -0,0 +1,83 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+interface_types:
+  tosca.interfaces.nfv.vnf.lifecycle.Nfv:
+    instantiate:
+      description: Invoked upon receipt of an Instantiate VNF request
+    instantiate_start:
+      description: Invoked before instantiate
+    instantiate_end:
+      description: Invoked after instantiate
+    terminate:
+      description: Invoked upon receipt Terminate VNF request
+    terminate_start:
+      description: Invoked before terminate
+    terminate_end:
+      description: Invoked after terminate
+    modify_information:
+      description: Invoked upon receipt of a Modify VNF Information request
+    modify_information_start:
+      description: Invoked before modify_information
+    modify_information_end:
+      description: Invoked after modify_information
+    change_flavour:
+      description: Invoked upon receipt of a Change VNF Flavour request
+    change_flavour_start:
+      description: Invoked before change_flavour
+    change_flavour_end:
+      description: Invoked after change_flavour
+    change_external_connectivity:
+      description: Invoked upon receipt of a Change External VNF Connectivity request
+    change_external_connectivity_start:
+      description: Invoked before change_external_connectivity
+    change_external_connectivity_end:
+      description: Invoked after change_external_connectivity
+    operate:
+      description: Invoked upon receipt of an Operate VNF request
+    operate_start:
+      description: Invoked before operate
+    operate_end:
+      description: Invoked after operate
+    heal:
+      description: Invoked upon receipt of a Heal VNF request
+    heal_start:
+      description: Invoked before heal
+    heal_end:
+      description: Invoked after heal
+    scale:
+      description: Invoked upon receipt of a Scale VNF request
+    scale_start:
+      description: Invoked before scale
+    scale_end:
+      description: Invoked after scale
+    scale_to_level:
+      description: Invoked upon receipt of a Scale VNF to Level request
+    scale_to_level_start:
+      description: Invoked before scale_to_level
+    scale_to_level_end:
+      description: Invoked after scale_to_level
+  tosca.interfaces.node.lifecycle.Standard:
+    create:
+      description: Standard lifecycle create operation.
+    configure:
+      description: Standard lifecycle configure operation.
+    start:
+      description: Standard lifecycle start operation.
+    stop:
+      description: Standard lifecycle stop operation.
+    delete:
+      description: Standard lifecycle delete operation.
diff --git a/s3p/templates/pciVendorId/Definitions/nodes.yml b/s3p/templates/pciVendorId/Definitions/nodes.yml
new file mode 100644
index 0000000..62d77f4
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/nodes.yml
@@ -0,0 +1,4781 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+- artifacts.yml
+- capabilities.yml
+- interfaces.yml
+- relationships.yml
+node_types:
+  tosca.nodes.BlockStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 1 MB
+      volume_id:
+        type: string
+        required: false
+      snapshot_id:
+        type: string
+        required: false
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+  tosca.nodes.WebApplication:
+    derived_from: tosca.nodes.Root
+    properties:
+      context_root:
+        type: string
+    capabilities:
+      app_endpoint:
+        type: tosca.capabilities.Endpoint
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.WebServer
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.Database:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: the logical name of the database
+      port:
+        type: integer
+        description: the port the underlying database service will listen to for data
+      user:
+        type: string
+        description: the optional user account name for DB administration
+        required: false
+      password:
+        type: string
+        description: the optional password for the DB user account
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.DBMS
+        relationship: tosca.relationships.HostedOn
+    capabilities:
+      database_endpoint:
+        type: tosca.capabilities.Endpoint.Database
+  tosca.nodes.Container.Runtime:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+      scalable:
+        type: tosca.capabilities.Scalable
+  tosca.nodes.network.Port:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: true
+        default: 0
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        type: boolean
+        required: false
+        default: false
+      ip_range_start:
+        type: string
+        required: false
+      ip_range_end:
+        type: string
+        required: false
+    requirements:
+    - link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  tosca.nodes.Root:
+    description: The TOSCA Node Type all other TOSCA base Node Types derive from
+    attributes:
+      tosca_id:
+        type: string
+      tosca_name:
+        type: string
+      state:
+        type: string
+    capabilities:
+      feature:
+        type: tosca.capabilities.Node
+    requirements:
+    - dependency:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  tosca.nodes.network.Network:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_version:
+        type: integer
+        required: false
+        default: 4
+        constraints:
+        - valid_values:
+          - 4
+          - 6
+      cidr:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      network_id:
+        type: string
+        required: false
+      segmentation_id:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+        default: true
+    capabilities:
+      link:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.Compute:
+    derived_from: tosca.nodes.Root
+    attributes:
+      private_address:
+        type: string
+      public_address:
+        type: string
+      networks:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.NetworkInfo
+      ports:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.network.PortInfo
+    requirements:
+    - local_storage:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+      endpoint:
+        type: tosca.capabilities.Endpoint.Admin
+      os:
+        type: tosca.capabilities.OperatingSystem
+      scalable:
+        type: tosca.capabilities.Scalable
+      binding:
+        type: tosca.capabilities.network.Bindable
+  tosca.nodes.LoadBalancer:
+    derived_from: tosca.nodes.Root
+    properties:
+      algorithm:
+        type: string
+        required: false
+        status: experimental
+    capabilities:
+      client:
+        type: tosca.capabilities.Endpoint.Public
+        occurrences:
+        - 0
+        - UNBOUNDED
+        description: the Floating (IP) client’s on the public network can connect to
+    requirements:
+    - application:
+        capability: tosca.capabilities.Endpoint
+        relationship: tosca.relationships.RoutesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.DBMS:
+    derived_from: tosca.nodes.SoftwareComponent
+    properties:
+      root_password:
+        type: string
+        required: false
+        description: the optional root password for the DBMS service
+      port:
+        type: integer
+        required: false
+        description: the port the DBMS service will listen to for data and requests
+    capabilities:
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.Database
+  tosca.nodes.WebServer:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      data_endpoint: tosca.capabilities.Endpoint
+      admin_endpoint: tosca.capabilities.Endpoint.Admin
+      host:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.WebApplication
+  tosca.nodes.Container.Application:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Container
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.SoftwareComponent:
+    derived_from: tosca.nodes.Root
+    properties:
+      component_version:
+        type: version
+        required: false
+      admin_credential:
+        type: tosca.datatypes.Credential
+        required: false
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.ObjectStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+      size:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+      maxsize:
+        type: scalar-unit.size
+        constraints:
+        - greater_or_equal: 0 GB
+    capabilities:
+      storage_endpoint:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ServiceProxy:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrailV2.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+      network_policy_entries:
+        type: org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList
+        description: A symbolic name for this contrail v2 network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      shared:
+        type: string
+        description: Is virtual network shared
+        required: false
+        status: SUPPORTED
+      forwarding_mode:
+        type: string
+        description: forwarding mode of the virtual network
+        required: false
+        status: SUPPORTED
+      external:
+        type: string
+        description: Is virtual network external
+        required: false
+        status: SUPPORTED
+      allow_transit:
+        type: string
+        description: Whether this network should be transitive.
+        required: false
+        status: SUPPORTED
+      flood_unknown_unicast:
+        type: string
+        description: flood L2 packets on network
+        required: false
+        status: SUPPORTED
+      route_targets:
+        type: list
+        description: route targets associated with the virtual network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extContrailCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.service:
+    derived_from: tosca.nodes.Root
+  org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.v2.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.vfc.nodes.volume:
+    derived_from: tosca.nodes.BlockStorage
+  org.openecomp.nodes.VLANNetworkReceptor:
+    derived_from: tosca.nodes.Root
+    capabilities:
+      routing_configuration_internal:
+        type: org.openecomp.capabilities.RoutingConfiguration
+    requirements:
+    - vlan_assignment:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.VLANAssignment
+        relationship: org.openecomp.relationships.AssignsTo
+  org.openecomp.resource.vl.nodes.heat.network.neutron.Net:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      dhcp_agent_ids:
+        type: list
+        description: The IDs of the DHCP agent to schedule the network
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      tenant_id:
+        type: string
+        description: The ID of the tenant which will own the network
+        required: false
+        status: SUPPORTED
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      shared:
+        type: boolean
+        description: Whether this network should be shared across all tenants
+        required: false
+        default: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+      mtu:
+        type: scalar-unit.size
+        description: The maximum transmission unit size(in bytes) for the network
+        status: SUPPORTED
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.nova.Server:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      admin_pass:
+        type: string
+        description: The administrator password for the server
+        required: false
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      image:
+        type: string
+        description: The ID or name of the image to boot with
+        required: false
+        status: SUPPORTED
+      image_update_policy:
+        type: string
+        description: Policy on how to apply an image-id update
+        required: false
+        default: REBUILD
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REBUILD_PRESERVE_EPHEMERAL
+          - REPLACE
+          - REBUILD
+      metadata:
+        type: json
+        description: Arbitrary JSON metadata to store for this server
+        required: false
+        status: SUPPORTED
+      contrail_service_instance_ind:
+        type: boolean
+        description: Nova server related to service instance indicator
+        required: false
+        default: false
+        status: SUPPORTED
+      user_data_update_policy:
+        type: string
+        description: Policy on how to apply a user_data update
+        required: false
+        default: REPLACE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE
+          - IGNORE
+      flavor_update_policy:
+        type: string
+        description: Policy on how to apply a flavor update
+        required: false
+        default: RESIZE
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - RESIZE
+          - REPLACE
+      user_data:
+        type: string
+        description: User data script to be executed by cloud-init
+        required: false
+        default: ''
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: The ID or name of the flavor to boot onto
+        required: true
+        status: SUPPORTED
+      key_name:
+        type: string
+        description: Name of keypair to inject into the server
+        required: false
+        status: SUPPORTED
+      reservation_id:
+        type: string
+        description: A UUID for the set of servers being requested
+        required: false
+        status: SUPPORTED
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        default: []
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      config_drive:
+        type: boolean
+        description: enable config drive on the server
+        required: false
+        status: SUPPORTED
+      personality:
+        type: map
+        description: A map of files to create/overwrite on the server upon boot
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      software_config_transport:
+        type: string
+        description: How the server should receive the metadata required for software configuration
+        required: false
+        default: POLL_SERVER_CFN
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - POLL_SERVER_CFN
+          - POLL_SERVER_HEAT
+          - POLL_TEMP_URL
+          - ZAQAR_MESSAGE
+      user_data_format:
+        type: string
+        description: How the user_data should be formatted for the server
+        required: false
+        default: HEAT_CFNTOOLS
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - SOFTWARE_CONFIG
+          - RAW
+          - HEAT_CFNTOOLS
+      diskConfig:
+        type: string
+        description: Control how the disk is partitioned when the server is created
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - AUTO
+          - MANUAL
+      name:
+        type: string
+        description: Server name
+        required: false
+        status: SUPPORTED
+      scheduler_hints:
+        type: map
+        description: Arbitrary key-value pairs specified by the client to help boot a server
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    attributes:
+      accessIPv4:
+        type: string
+        description: The manually assigned alternative public IPv4 address of the server
+        status: SUPPORTED
+      addresses:
+        type: map
+        description: A dict of all network addresses with corresponding port_id
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo
+      accessIPv6:
+        type: string
+        description: The manually assigned alternative public IPv6 address of the server
+        status: SUPPORTED
+      instance_name:
+        type: string
+        description: AWS compatible instance name
+        status: SUPPORTED
+      name:
+        type: string
+        description: Name of the server
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      console_urls:
+        type: string
+        description: URLs of servers consoles
+        status: SUPPORTED
+  org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      description:
+        type: string
+        description: Description of the security group
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this security group, which is not required to be unique.
+        required: false
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of security group rules
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule
+    attributes:
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+    requirements:
+    - port:
+        capability: tosca.capabilities.Attachment
+        node: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vfc.nodes.heat.cinder.Volume:
+    derived_from: org.openecomp.resource.vfc.nodes.volume
+    properties:
+      availability_zone:
+        description: The availability zone in which the volume will be created
+        type: string
+        status: SUPPORTED
+        required: false
+      image:
+        description: If specified, the name or ID of the image to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      metadata:
+        description: Key/value pairs to associate with the volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      volume_type:
+        description: If specified, the type of volume to use, mapping to a specific backend
+        type: string
+        status: SUPPORTED
+        required: false
+      description:
+        description: A description of the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      device_type:
+        description: Device type
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - cdrom
+          - disk
+      disk_bus:
+        description: 'Bus of the device: hypervisor driver chooses a suitable default
+          if omitted'
+        type: string
+        status: SUPPORTED
+        required: false
+        constraints:
+        - valid_values:
+          - ide
+          - lame_bus
+          - scsi
+          - usb
+          - virtio
+      backup_id:
+        description: If specified, the backup to create the volume from
+        type: string
+        status: SUPPORTED
+        required: false
+      source_volid:
+        description: If specified, the volume to use as source
+        type: string
+        status: SUPPORTED
+        required: false
+      boot_index:
+        description: Integer used for ordering the boot disks
+        type: integer
+        status: SUPPORTED
+        required: false
+      size:
+        description: The requested storage size (default unit is MB)
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+        constraints:
+        - greater_or_equal: 1 GB
+      read_only:
+        description: Enables or disables read-only access mode of volume
+        type: boolean
+        status: SUPPORTED
+        required: false
+      name:
+        description: A name used to distinguish the volume
+        type: string
+        status: SUPPORTED
+        required: false
+      scheduler_hints:
+        description: Arbitrary key-value pairs specified by the client to help the Cinder scheduler creating a volume
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      swap_size:
+        description: The size of the swap, in MB
+        type: scalar-unit.size
+        status: SUPPORTED
+        required: false
+      delete_on_termination:
+        description: Indicate whether the volume should be deleted when the server is terminated
+        type: boolean
+        status: SUPPORTED
+        required: false
+      multiattach:
+        description: Whether allow the volume to be attached more than once
+        type: boolean
+        status: SUPPORTED
+        required: false
+    attributes:
+      display_description:
+        description: Description of the volume
+        type: string
+        status: SUPPORTED
+      attachments:
+        description: The list of attachments of the volume
+        type: string
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      encrypted:
+        description: Boolean indicating if the volume is encrypted or not
+        type: boolean
+        status: SUPPORTED
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+      created_at:
+        description: The timestamp indicating volume creation
+        type: timestamp
+        status: SUPPORTED
+      display_name:
+        description: Name of the volume
+        type: string
+        status: SUPPORTED
+      metadata_values:
+        description: Key/value pairs associated with the volume in raw dict form
+        type: map
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      bootable:
+        description: Boolean indicating if the volume can be booted or not
+        type: boolean
+        status: SUPPORTED
+      status:
+        description: The current status of the volume
+        type: string
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.CR:
+    derived_from: tosca.nodes.Root
+    properties:
+      cr_function:
+        type: string
+      cr_role:
+        type: string
+      cr_type:
+        type: string
+  org.openecomp.resource.vl.extVL:
+    derived_from: tosca.nodes.Root
+    description: VF Tenant oam protected network
+    properties:
+      network_type:
+        type: string
+        required: true
+        description: ECOMP supported network types.
+      network_role:
+        type: string
+        required: true
+        description: |
+          Unique label that defines the role that this network performs.   example: vce oam network, vnat sr-iov1 network
+      network_scope:
+        type: string
+        constraints:
+          valid_values:
+          - VF
+          - SERVICE
+          - GLOBAL
+        description: |
+          Uniquely identifies the network scope. Valid values for the network scope   includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects  the VFs within the service GLOBAL - Global network which can be shared by multiple services
+      network_technology:
+        type: string
+        required: true
+        description: ECOMP supported network technology
+      exVL_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+        required: true
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+        required: true
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+        required: true
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.abstract.nodes.PNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_type:
+        type: string
+      software_versions:
+        type: list
+        entry_schema:
+          type: string
+  org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules:
+    derived_from: tosca.nodes.Root
+    properties:
+      entries:
+        type: org.openecomp.datatypes.heat.contrail.network.rule.RuleList
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this contrail network rule
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: tenant_id
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes.
+        status: SUPPORTED
+      rules:
+        type: list
+        description: List of rules
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - network:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.network.Network
+        relationship: org.openecomp.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.nodes.PortMirroringConfiguration:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+    - collector:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.nodes.VRFObject:
+    derived_from: tosca.nodes.Root
+    description: provides capability to connect WAN Transport Service Proxy to VRF Entry
+    capabilities:
+      routing_configuration_external:
+        type: org.openecomp.capabilities.RoutingConfiguration
+  org.openecomp.resource.abstract.nodes.VFC:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      nfc_function:
+        type: string
+      high_availablity:
+        type: string
+        description: high_availablity
+        required: false
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        description: Master image_name volume id
+        required: true
+        status: SUPPORTED
+      nfc_naming_code:
+        type: string
+        description: nfc code for instance naming
+        required: false
+        status: SUPPORTED
+      vm_type_tag:
+        type: string
+        description: vm type based on naming Convention
+        required: false
+        status: SUPPORTED
+      nfc_naming:
+        type: org.openecomp.datatypes.Naming
+        description: vfc naming
+      min_instances:
+        type: integer
+        description: Minimum number of VFC Instances
+        required: false
+        default: 0
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 0
+      max_instances:
+        type: integer
+        description: Maximum number of VFC Instances
+        required: false
+        status: SUPPORTED
+        constraints:
+        - greater_or_equal: 1
+  org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      name:
+        description: Virtual Machine Interface name
+        type: string
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
+        status: SUPPORTED
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    capabilities:
+      binding:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+  org.openecomp.resource.abstract.nodes.VnfConfiguration:
+    derived_from: tosca.nodes.Root
+    properties:
+      allowed_flavors:
+        description: a collection of all flavor valuesets available for a given VFC
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.flavors.DeploymentFlavor
+  org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork:
+    derived_from: org.openecomp.resource.vl.nodes.network.Network
+    properties:
+      network_ipam_refs_data:
+        type: list
+        description: IPAM references Data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData
+      network_policy_refs_data:
+        type: list
+        description: Policy references data
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData
+      network_ipam_refs:
+        type: list
+        description: IPAM references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      network_policy_refs:
+        type: list
+        description: Policy references
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      subnets_name:
+        type: list
+        description: Subnets name of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets_show:
+        type: map
+        description: Detailed information about each subnet
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      subnets:
+        type: map
+        description: Network related subnets
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.neutron.Subnet
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.vl.internalVL:
+    derived_from: tosca.nodes.network.Network
+    description: The AT&T internal (VF-level) Virtual Link
+  org.openecomp.resource.vl.ELine:
+    derived_from: org.openecomp.resource.vl.VL
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 0
+        - 2
+  org.openecomp.resource.vl.VL:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.Configuration:
+    derived_from: tosca.nodes.Root
+    properties:
+      type:
+        type: string
+        description: The type of the node, the configuration will be defined for it. Ex. SBC
+        required: false
+      role:
+        type: string
+        description: The role of the node, the configuration will be defined for it. Ex. Active, Standby
+        required: false
+      function:
+        type: string
+        description: The function of the node, the configuration will be defined for it. Ex. NAT Traversal
+        required: false
+  org.openecomp.resource.cp.nodes.network.v2.SubInterface:
+    derived_from: tosca.nodes.Root
+    properties:
+      ip_address:
+        description: Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to fulfill but may not be able to dependent on the network the port is associated with.
+        type: string
+        required: false
+      order:
+        description: 'The order of the NIC on the compute instance (e.g. eth2). Note:
+          when binding more than one port to a single compute (aka multi vNICs) and
+          ordering is desired, it is *mandatory* that all ports will be set with an
+          order value and. The order values must represent a positive, arithmetic
+          progression that starts with 0 (e.g. 0, 1, 2, ..., n).'
+        type: integer
+        default: 0
+        required: false
+        constraints:
+        - greater_or_equal: 0
+      is_default:
+        description: Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway. Only one port that is associated to single compute node can set as default=true.
+        type: boolean
+        default: false
+        required: false
+      ip_range_start:
+        description: Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+      ip_range_end:
+        description: Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network.
+        type: string
+        required: false
+    attributes:
+      ip_address:
+        description: The IP address would be assigned to the associated compute instance.
+        type: string
+    requirements:
+    - subinterface_link:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+  org.openecomp.resource.cp.v2.extCP:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    description: The SDC External Connection Point base type
+    capabilities:
+      port_mirroring:
+        type: org.openecomp.capabilities.PortMirroring
+  org.openecomp.resource.vfc.nodes.Compute:
+    derived_from: tosca.nodes.Compute
+    capabilities:
+      disk.ephemeral.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.ephemeral.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of ephemeral disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: instance
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: instance
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Existence of instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu.delta:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu.delta
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used since previous datapoint
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Delta
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: '%'
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu_util
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average CPU utilization
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.latency:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ms
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.latency
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk latency per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: ns
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: cpu
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: CPU time used
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: GB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.root.size
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Size of root disk
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of writes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: vcpu
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: vcpus
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of virtual CPUs allocated to the instance
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: count/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.iops
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average disk iops per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The physical size in bytes of the image container on the host per device
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.read.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.read.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of read requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.write.requests.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.allocation:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.allocation
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk occupied by the instance on the host machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.read.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of reads
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.usage:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.usage
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance from the amount of its allocated memory
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.device.capacity
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: The amount of disk per device that the instance can see
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: disk
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: MB
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: memory.resident
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Volume of RAM used by the instance on the physical machine
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: request
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: disk.write.requests
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of write requests
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: compute
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.MultiFlavorVFC:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      images:
+        type: map
+        entry_schema:
+          type: org.openecomp.datatypes.ImageInfo
+        required: false
+  org.openecomp.nodes.PortMirroringConfigurationByPolicy:
+    derived_from: tosca.nodes.Root
+    properties:
+      collector_node:
+        type: string
+        description: The name of the Collector Proxy
+        required: true
+      policy_name:
+        type: string
+        description: The name of the policy for selection of the collector interfaces
+        required: true
+      equip_model:
+        type: string
+        description: The name of the equipment type of the collector, i.e. Cisco 4500x
+        required: true
+      equip_vendor:
+        type: string
+        description: The name of the equipment vendor of the collector, i.e. Cisco
+        required: true
+    requirements:
+    - source:
+        capability: org.openecomp.capabilities.PortMirroring
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.VF:
+    derived_from: tosca.nodes.Root
+    properties:
+      nf_function:
+        type: string
+      nf_role:
+        type: string
+      nf_naming_code:
+        type: string
+      nf_type:
+        type: string
+      nf_naming:
+        type: org.openecomp.datatypes.Naming
+        Default: true
+      availability_zone_max_count:
+        type: integer
+        default: 1
+        constraints:
+        - valid_values:
+          - 0
+          - 1
+          - 2
+      min_instances:
+        type: integer
+      max_instances:
+        type: integer
+      multi_stage_design:
+        type: boolean
+        default: false
+  org.openecomp.resource.vl.nodes.network.Network:
+    derived_from: tosca.nodes.network.Network
+    properties:
+      vendor:
+        type: string
+        required: false
+      vl_name:
+        type: string
+        required: false
+    capabilities:
+      end_point:
+        type: tosca.capabilities.Endpoint
+  org.openecomp.nodes.ForwardingPath:
+    derived_from: tosca.nodes.Root
+    properties:
+      target_range:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          description: Identifier of the reciever port of the VNF or the service
+          type: integer
+      protocol:
+        type: string
+        description: protocol type that runs on the link
+        required: true
+        status: SUPPORTED
+    requirements:
+    - forwarder:
+        capability: org.openecomp.capabilities.Forwarder
+        relationship: org.openecomp.relationships.ForwardsTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.nodes.heat.network.contrail.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      static_routes:
+        type: list
+        description: An ordered list of static routes to be added to this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
+      virtual_network:
+        type: string
+        description: Virtual Network for this interface
+        required: true
+        status: SUPPORTED
+      static_route:
+        type: boolean
+        description: Static route enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: List of allowed address pair for this interface
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
+      shared_ip:
+        type: boolean
+        description: Shared ip enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      ip_address:
+        type: string
+        description: IP for this interface
+        required: false
+        status: SUPPORTED
+      interface_type:
+        type: string
+        description: Interface type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - management
+          - left
+          - right
+          - other
+    attributes:
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.SubInterface:
+    derived_from: tosca.nodes.network.Port
+  org.openecomp.resource.vfc.nodes.heat.contrail.Compute:
+    derived_from: org.openecomp.resource.vfc.nodes.Compute
+    properties:
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the VM
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: fq_name
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of active VMs
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: VMs of this compute
+        status: SUPPORTED
+      status:
+        type: string
+        description: status of the compute
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.network.Port:
+    derived_from: tosca.nodes.network.Port
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        description: Must correlate to the set of defined “network-role�? tag identifiers from the associated HEAT template
+        type: string
+        required: true
+      mac_requirements:
+        description: identifies MAC address assignments to the CP
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+      vlan_requirements:
+        description: identifies vlan address assignments to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+      ip_requirements:
+        description: identifies IP requirements to the CP
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+      subinterface_indicator:
+        description: identifies if Port is having Sub Interface
+        type: boolean
+        required: false
+        default: false
+      related_networks:
+        type: list
+        description: Related Networks List.
+        required: false
+        entry_schema:
+          type: org.openecomp.datatypes.network.RelatedNetworksAssignments
+    capabilities:
+      network.incoming.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      forwarder:
+        type: org.openecomp.capabilities.Forwarder
+      network.outgoing.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.packets.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outpoing.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outpoing.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of outgoing packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.bytes
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: B/s
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.outgoing.bytes.rate
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Average rate of outgoing bytes
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Gauge
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        properties:
+          unit:
+            type: string
+            description: Unit of the metric value
+            required: true
+            default: packet
+            status: SUPPORTED
+          name:
+            type: string
+            description: Ceilometer metric type name to monitor. (The name ceilometer is using)
+            required: true
+            default: network.incoming.packets
+            status: SUPPORTED
+          description:
+            type: string
+            description: Description of the metric
+            required: false
+            default: Number of incoming packets
+            status: SUPPORTED
+          type:
+            type: string
+            description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
+            required: true
+            default: Cumulative
+            status: SUPPORTED
+          category:
+            type: string
+            description: Category of the metric, for an example, compute, disk, network, storage and etc.
+            required: false
+            default: network
+            status: SUPPORTED
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.nodes.VRFEntry:
+    derived_from: tosca.nodes.Root
+    requirements:
+    - routing_configuration_internal:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+    - routing_configuration_external:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: org.openecomp.capabilities.RoutingConfiguration
+        relationship: org.openecomp.relationships.RoutesTo
+  org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface:
+    derived_from: org.openecomp.resource.cp.nodes.network.SubInterface
+    properties:
+      virtual_machine_interface_refs:
+        description: List of virtual machine interface.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      name:
+        description: Virtual Machine Sub Interface VLAN name
+        type: string
+        status: SUPPORTED
+        required: false
+      virtual_network_refs:
+        description: List of virtual networks.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      virtual_machine_interface_properties:
+        description: virtual machine interface properties.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_allowed_address_pairs:
+        description: Virtual Machine Sub Interface allowed address pairs.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
+        status: SUPPORTED
+        required: false
+      virtual_machine_interface_mac_addresses:
+        description: List of mac addresses.
+        type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress
+        status: SUPPORTED
+        required: false
+      security_group_refs:
+        description: List of security groups.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+      port_tuple_refs:
+        description: List of port tuples.
+        type: list
+        status: SUPPORTED
+        entry_schema:
+          type: string
+        required: false
+    attributes:
+      fq_name:
+        description: The FQ name of the Virtual Network.
+        type: string
+        status: SUPPORTED
+      show:
+        description: All attributes.
+        type: string
+        status: SUPPORTED
+    requirements:
+    - binding:
+        capability: tosca.capabilities.network.Bindable
+        node: org.openecomp.resource.cp.nodes.network.Port
+        relationship: tosca.relationships.network.BindsTo
+        occurrences:
+        - 1
+        - 1
+  org.openecomp.resource.cp.extCP:
+    derived_from: tosca.nodes.Root
+    description: The SDC Connection Point base type all other CP derive from
+    properties:
+      network_role:
+        type: string
+        required: true
+        description: identical to VL network_role
+      order:
+        type: integer
+        required: true
+        description: The order of the CP on the compute instance (e.g. eth2).
+      network_role_tag:
+        type: string
+        required: true
+        description: Must correlate to the set of defined “network-role” tag identifiers from the associated HEAT template
+      mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: false
+        description: identifies MAC address assignments to the CP
+      vlan_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+        required: false
+        description: identifies vlan address assignments to the CP
+      ip_requirements:
+        type: list
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+        required: true
+        description: identifies IP requirements to the CP
+      exCP_naming:
+        type: org.openecomp.datatypes.Naming
+      subnetpoolid:
+        type: string
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    - virtualBinding:
+        capability: tosca.capabilities.network.Bindable
+        relationship: tosca.relationships.network.BindsTo
+    - external_virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        node: org.openecomp.resource.vl.VL
+    capabilities:
+      internal_connectionPoint:
+        type: tosca.capabilities.Node
+        valid_source_type:
+        - tosca.nodes.network.Port
+  org.openecomp.nodes.FabricConfiguration:
+    derived_from: org.openecomp.nodes.Configuration
+    requirements:
+    - fabric_configuration_monitoring:
+        capability: org.openecomp.capabilities.FabricConfiguration
+        occurrences:
+        - 1
+        - UNBOUNDED
+  org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute:
+    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+    properties:
+      availability_zone:
+        type: string
+        description: Availability zone to create servers in
+        required: false
+        status: SUPPORTED
+      static_routes_list:
+        type: list
+        description: Static routes enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+      availability_zone_enable:
+        type: boolean
+        description: Indicates availability zone is enabled
+        required: false
+        default: false
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service template name
+        required: false
+        status: SUPPORTED
+      ordered_interfaces:
+        type: boolean
+        description: Indicates if service interface are ordered
+        required: false
+        default: false
+        status: SUPPORTED
+      flavor:
+        type: string
+        description: flavor
+        required: false
+        status: SUPPORTED
+      image_name:
+        type: string
+        description: Image name
+        required: true
+        status: SUPPORTED
+      service_type:
+        type: string
+        description: Service type
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - firewall
+          - analyzer
+          - source-nat
+          - loadbalancer
+      service_interface_type_list:
+        type: list
+        description: List of interface types
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - management
+            - left
+            - right
+            - other
+      service_instance_name:
+        type: string
+        description: Service instance name
+        required: true
+        status: SUPPORTED
+      interface_list:
+        type: list
+        description: List of interfaces
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+      service_mode:
+        type: string
+        description: Service mode
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - transparent
+          - in-network
+          - in-network-nat
+      shared_ip_list:
+        type: list
+        description: Shared ips enabled
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant id of the Service Instance
+        status: SUPPORTED
+      fq_name:
+        type: string
+        description: The FQ name of the service instance
+        status: SUPPORTED
+      service_template_name:
+        type: string
+        description: Service Template of the Service Instance
+        status: SUPPORTED
+      show:
+        type: string
+        description: All attributes
+        status: SUPPORTED
+      active_vms:
+        type: string
+        description: Number of service VMs active for this Service Instance
+        status: SUPPORTED
+      service_instance_name:
+        type: string
+        description: The name of the service instance
+        status: SUPPORTED
+      virtual_machines:
+        type: string
+        description: Service VMs for the Service Instance
+        status: SUPPORTED
+      status:
+        type: string
+        description: Status of the service instance
+        status: SUPPORTED
+  org.openecomp.resource.abstract.nodes.AbstractSubstitute:
+    derived_from: tosca.nodes.Root
+    properties:
+      service_template_filter:
+        type: org.openecomp.datatypes.heat.substitution.SubstitutionFiltering
+        description: Substitution Filter
+        required: true
+        status: SUPPORTED
+  org.openecomp.resource.cp.nodes.heat.network.neutron.Port:
+    derived_from: org.openecomp.resource.cp.nodes.network.Port
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.cp.v2.extNeutronCP:
+    derived_from: org.openecomp.resource.cp.v2.extCP
+    properties:
+      port_security_enabled:
+        type: boolean
+        description: Flag to enable/disable port security on the network
+        required: false
+        status: SUPPORTED
+      device_id:
+        type: string
+        description: Device ID of this port
+        required: false
+        status: SUPPORTED
+      qos_policy:
+        type: string
+        description: The name or ID of QoS policy to attach to this network
+        required: false
+        status: SUPPORTED
+      allowed_address_pairs:
+        type: list
+        description: Additional MAC/IP address pairs allowed to pass through the port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      binding:vnic_type:
+        type: string
+        description: The vnic type to be bound on the neutron port
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - macvtap
+          - direct
+          - normal
+      value_specs:
+        type: map
+        description: Extra parameters to include in the request
+        required: false
+        default: {}
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      device_owner:
+        type: string
+        description: Name of the network owning the port
+        required: false
+        status: SUPPORTED
+      network:
+        type: string
+        description: Network this port belongs to
+        required: false
+        status: SUPPORTED
+      replacement_policy:
+        type: string
+        description: Policy on how to respond to a stack-update for this resource
+        required: false
+        default: AUTO
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - REPLACE_ALWAYS
+          - AUTO
+      security_groups:
+        type: list
+        description: List of security group names or IDs
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      fixed_ips:
+        type: list
+        description: Desired IPs for this port
+        required: false
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      mac_address:
+        type: string
+        description: MAC address to give to this port
+        required: false
+        status: SUPPORTED
+      admin_state_up:
+        type: boolean
+        description: A boolean value specifying the administrative status of the network
+        required: false
+        default: true
+        status: SUPPORTED
+      name:
+        type: string
+        description: A symbolic name for this port
+        required: false
+        status: SUPPORTED
+    attributes:
+      tenant_id:
+        type: string
+        description: Tenant owning the port
+        status: SUPPORTED
+      network_id:
+        type: string
+        description: Unique identifier for the network owning the port
+        status: SUPPORTED
+      qos_policy_id:
+        type: string
+        description: The QoS policy ID attached to this network
+        status: SUPPORTED
+      show:
+        type: string
+        description: Detailed information about resource
+        status: SUPPORTED
+      subnets:
+        type: list
+        description: Subnets of this network
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      status:
+        type: string
+        description: The status of the network
+        status: SUPPORTED
+    capabilities:
+      attachment:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+        required: true
+    capabilities:
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.Cp:
+    derived_from: tosca.nodes.Root
+    properties:
+      layer_protocol:
+        type: list
+        entry_schema:
+          type: string
+          constraints:
+          - valid_values:
+            - ethernet
+            - mpls
+            - odu2
+            - ipv4
+            - ipv6
+            - pseudo_wire
+        required: true
+      role:
+        type: string
+        constraints:
+        - valid_values:
+          - root
+          - leaf
+        required: false
+      description:
+        type: string
+        required: false
+      protocol_data:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.CpProtocolData
+        required: true
+      trunk_mode:
+        type: boolean
+        required: true
+      allowed_address_data:
+        type: tosca.datatypes.nfv.AddressData
+        required: false
+  tosca.nodes.nfv.VnfVirtualLinkDesc:
+    derived_from: tosca.nodes.Root
+    properties:
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+        required: true
+      description:
+        type: string
+        required: false
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      vl_flavours:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VlFlavour
+        required: true
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  org.openecomp.resource.vfc.AllottedResource:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+      role:
+        type: string
+        required: true
+        description: Unique label that defines the role that this allotted resource performs
+      min_instances:
+        type: integer
+        default: 1
+      max_instances:
+        type: integer
+        default: 1
+      target_network_role:
+        type: string
+        required: true
+        description: Target network role
+    requirements:
+    - service_dependency:
+        capability: org.openecomp.capabilities.AllottedResource
+        relationship: tosca.relationships.DependsOn
+        node: tosca.services.Root
+  tosca.nodes.nfv.ext.zte.VDU:
+    derived_from: tosca.nodes.Root
+    properties:
+      manual_scale_select_vim:
+        type: boolean
+        required: false
+      vdu_type:
+        type: string
+        required: false
+      watchdog:
+        type: tosca.datatypes.nfv.ext.zte.WatchDog
+        required: false
+      name:
+        type: string
+        required: false
+      local_affinity_antiaffinity_rule:
+        type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
+        required: false
+      support_scaling:
+        type: boolean
+        required: false
+      storage_policy:
+        type: string
+        required: false
+      key_vdu:
+        type: boolean
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+      inject_data_list:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.InjectData
+    requirements:
+    - guest_os:
+        capability: tosca.capabilities.nfv.ext.GuestOs
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage:
+        capability: tosca.capabilities.nfv.ext.LocalAttachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - volume_storage:
+        capability: tosca.capabilities.Attachment
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency:
+        capability: tosca.capabilities.Node
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      scalable:
+        type: tosca.capabilities.Scalable
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+      nfv_compute:
+        type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
+      virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+  tosca.nodes.nfv.VDU:
+    derived_from: tosca.nodes.SoftwareComponent
+    capabilities:
+      Virtualbinding:
+        type: tosca.capabilities.nfv.VirtualBindable
+    requirements:
+    - host:
+        capability: tosca.capabilities.Container
+        node: tosca.nodes.Compute
+        relationship: tosca.relationships.HostedOn
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    properties:
+      bitrate_requirement:
+        type: integer
+        required: false
+      vnic_name:
+        type: string
+        required: false
+      vnic_order:
+        type: integer
+        required: false
+      vnic_type:
+        type: string
+        constraints:
+        - valid_values:
+          - normal
+          - macvtap
+          - direct
+          - baremetal
+          - direct-physical
+          - virtio-forwarder
+        required: false
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+        required: false
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+    - virtual_binding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        relationship: tosca.relationships.nfv.VirtualBindsTo
+        node: tosca.nodes.nfv.Vdu.Compute
+  org.openecomp.resource.vfc.NSD:
+    derived_from: tosca.nodes.Root
+    description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+    properties:
+      nsd_id:
+        type: string
+        required: true
+        description: ID of the NSD
+      nsd_designer:
+        type: string
+        required: true
+        description: Designer of the NSD
+      nsd_version:
+        type: string
+        required: true
+        description: Version of the NSD
+      nsd_name:
+        type: string
+        required: true
+        description: Name of the NSD
+      providing_service_uuid:
+        type: string
+        required: true
+        description: The depending service uuid in order to map the allotted resource to the specific service version
+      providing_service_invariant_uuid:
+        type: string
+        required: true
+        description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+      providing_service_name:
+        type: string
+        required: true
+        description: The depending service name in order to map the allotted resource to the specific service version
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      description:
+        type: string
+        required: true
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+        required: true
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+        required: true
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+        required: false
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      user_data:
+        type: string
+        required: false
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+    requirements:
+    - virtual_storage:
+        capability: tosca.capabilities.nfv.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+        node: tosca.nodes.nfv.Vdu.VirtualStorage
+        occurences:
+        - 0
+        - UNBOUNDED
+  org.openecomp.resource.vl.GenericNeutronNet:
+    derived_from: org.openecomp.resource.vl.extVL
+    description: Generic Neutron Network
+    properties:
+      network_role:
+        type: string
+        description: |
+          Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network
+      network_assignments:
+        type: org.openecomp.datatypes.network.NetworkAssignments
+      network_flows:
+        type: org.openecomp.datatypes.network.NetworkFlows
+      network_scope:
+        type: string
+      network_ecomp_naming:
+        type: org.openecomp.datatypes.EcompNaming
+      network_type:
+        type: string
+        description: ECOMP supported network types.
+        default: NEUTRON
+      provider_network:
+        type: org.openecomp.datatypes.network.ProviderNetwork
+      network_technology:
+        type: string
+        description: ECOMP supported network technology
+        default: NEUTRON
+      network_homing:
+        type: org.openecomp.datatypes.EcompHoming
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      type_of_storage:
+        type: string
+        constraints:
+        - valid_values:
+          - volume
+          - object
+          - root
+          - block
+        required: true
+      size_of_storage:
+        type: scalar-unit.size
+        required: true
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+        required: false
+      rdma_enabled:
+        type: boolean
+        required: false
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+  tosca.nodes.nfv.ext.zte.VL:
+    derived_from: tosca.nodes.Root
+    properties:
+      segmentation_id:
+        type: string
+        required: false
+      network_name:
+        type: string
+        required: false
+      is_predefined:
+        type: boolean
+        required: false
+      mtu:
+        type: integer
+        required: false
+      dns_nameservers:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      physical_network:
+        type: string
+        required: false
+      dhcp_enabled:
+        type: boolean
+        required: false
+      network_id:
+        type: string
+        required: false
+      host_routes:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.HostRouteInfo
+      ip_version:
+        type: integer
+        required: false
+      vendor:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      start_ip:
+        type: string
+        required: false
+      vlan_transparent:
+        type: boolean
+        required: false
+      cidr:
+        type: string
+        required: false
+      gateway_ip:
+        type: string
+        required: false
+      network_type:
+        type: string
+        required: false
+      end_ip:
+        type: string
+        required: false
+      location_info:
+        type: tosca.datatypes.nfv.ext.LocationInfo
+        required: false
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+  tosca.nodes.nfv.ext.LocalStorage:
+    derived_from: tosca.nodes.Root
+    properties:
+      size:
+        type: string
+        required: false
+      disk_type:
+        type: string
+        required: false
+    capabilities:
+      local_attachment:
+        type: tosca.capabilities.nfv.ext.LocalAttachment
+  tosca.nodes.nfv.ext.zte.CP:
+    derived_from: tosca.nodes.Root
+    properties:
+      guest_os_mtu:
+        type: integer
+        required: false
+      bandwidth:
+        type: integer
+        required: false
+      interface_name:
+        type: string
+        required: false
+      allowed_address_pairs:
+        type: list
+        required: false
+        entry_schema:
+          type: tosca.datatypes.nfv.ext.AddressPairs
+      ip_address:
+        type: string
+        required: false
+      bond:
+        type: string
+        required: false
+      proxiedVNFs:
+        type: list
+        required: false
+        entry_schema:
+          type: string
+      sfc_encapsulation:
+        type: string
+        required: false
+      floating_ip_address:
+        type: tosca.datatypes.nfv.ext.FloatingIP
+        required: false
+      service_ip_address:
+        required: false
+        type: string
+      mac_address:
+        type: string
+        required: false
+      proxiedVNFtype:
+        type: string
+        required: false
+      macbond:
+        type: string
+        required: false
+      vnic_type:
+        type: string
+        required: false
+      direction:
+        type: string
+        required: false
+      order:
+        type: integer
+        required: false
+    requirements:
+    - forwarder:
+        capability: tosca.capabilities.nfv.Forwarder
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualbinding:
+        capability: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - virtualLink:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 0
+        - UNBOUNDED
+    capabilities:
+      forwarder:
+        type: tosca.capabilities.nfv.Forwarder
+  tosca.nodes.nfv.ext.ImageFile:
+    derived_from: tosca.nodes.Root
+    properties:
+      file_url:
+        type: string
+        required: false
+      container_type:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      disk_format:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+    capabilities:
+      guest_os:
+        type: tosca.capabilities.nfv.ext.GuestOs
+      image_fle:
+        type: tosca.capabilities.nfv.ext.ImageFile
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    properties:
+      descriptor_id:
+        type: string
+        required: true
+      descriptor_version:
+        type: string
+        required: true
+      provider:
+        type: string
+        required: true
+      product_name:
+        type: string
+        required: true
+      software_version:
+        type: string
+        required: true
+      product_info_name:
+        type: string
+        required: false
+      product_info_description:
+        type: string
+        required: false
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+        required: true
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+        required: false
+      default_localization_language:
+        type: string
+        required: false
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+        required: false
+      modifiable_attributes:
+        type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
+        required: false
+      flavour_id:
+        type: string
+        required: true
+      flavour_description:
+        type: string
+        required: true
+    requirements:
+    - virtual_link:
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+        node: tosca.nodes.nfv.VnfVirtualLink
+        occurrences:
+        - 0
+        - UNBOUNDED
+    interfaces:
+      Nfv:
+        type: tosca.interfaces.nfv.vnf.lifecycle.Nfv
+  org.openecomp.resource.vl.overlaytunnel:
+    derived_from: tosca.nodes.Root
+    description: This entity represents abstract overlay tunnel end point.
+    properties:
+      id:
+        type: string
+        description: Identifier of the Tunnel Endpoint node.
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      name:
+        type: string
+        description: Overlay tunnel name used by for reference by the administrator.
+        required: false
+      description:
+        type: string
+        description: Additional comments/information about overlay tunnel.
+        required: false
+      tunnelType:
+        type: string
+        constraints:
+        - valid_values:
+          - L3-DCI
+          - L2-DCI
+        description: type defines if the overlay tunnel is L3-DCI tunnel or L2-DCI tunnel.
+        required: true
+      site1_id:
+        type: string
+        description: Identifier of first DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site1_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site1_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site1_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site1_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site1_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site1_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site1_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site1_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site1_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+      site2_id:
+        type: string
+        description: Identifier of second DCI overlay tunnel endpoint. This could be IP address of domain controller.
+        required: true
+      site2_description:
+        type: string
+        description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller.
+        required: false
+      site2_networkName:
+        type: string
+        description: Name of the network that is being associated with overlay tunnel.
+        required: true
+      site2_routerId:
+        type: string
+        description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel.
+        required: false
+      site2_importRT1:
+        type: string
+        description: List of Route targets imported by the local router.
+        required: false
+      site2_exportRT1:
+        type: string
+        description: List of Route targets exported by the local router.
+        required: false
+      site2_vni:
+        type: integer
+        description: VXLAN ID
+        required: false
+      site2_fireWallEnable:
+        type: boolean
+        required: false
+        description: Identifies if a firewall exists in the path of overlay tunnel.
+        default: false
+      site2_fireWallId:
+        type: string
+        description: Identifier of Firewall that is in overlay tunnel path
+        required: false
+      site2_localNetworkAll:
+        type: boolean
+        description: Identifies whether all the local networks associate with the tunnel or not.
+        required: false
+        default: 'false'
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
+  org.openecomp.resource.vl.underlayvpn:
+    derived_from: tosca.nodes.Root
+    description: undelay vpn type definitions
+    properties:
+      id:
+        type: string
+        required: false
+      template_name:
+        type: string
+        required: false
+      version:
+        type: string
+        required: false
+      vendor:
+        type: string
+        required: false
+      template_author:
+        type: string
+        required: false
+      name:
+        type: string
+        required: false
+      description:
+        type: string
+        required: false
+      serviceType:
+        type: string
+        description: type of VPN service
+        required: false
+        default: l3vpn_sptn
+      topology:
+        type: string
+        description: type of VPN topology
+        constraints:
+        - valid_values:
+          - full-mesh
+          - point_to_multipoint
+          - point_to_point
+          - singlePoint
+          - hubspoke
+          - hubspoke_via_hubce
+          - hubspoke_disjoint
+          - ADD_DROP_Z
+        required: false
+        default: full-mesh
+      technology:
+        type: string
+        description: type of VPN technology
+        constraints:
+        - valid_values:
+          - mpls
+          - rosen multivpn
+          - vxlan overlay l3vpn
+          - eth over sdh
+          - vlan
+        required: false
+        default: mpls
+      site1_name:
+        type: string
+        description: name of first site
+        required: false
+      site2_name:
+        type: string
+        description: name of second site
+        required: false
+      sna1_name:
+        type: string
+        description: name of site network accesses associated with the site1
+        required: false
+      sna2_name:
+        type: string
+        description: name of site network accesses associated with the site2
+        required: false
+      pe1_id:
+        type: string
+        description: id of provider edge1, it can be name or ip or uuid
+        required: false
+      pe2_id:
+        type: string
+        description: id of provider edge2, it can be name or ip or uuid
+        required: false
+      ac1_id:
+        type: string
+        description: id of attachment circuit1, it can be port name or uuid
+        required: false
+      ac1_svlan:
+        type: integer
+        description: ac1 svlan
+        required: false
+      ac1_ip:
+        type: string
+        description: ip of ac1, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_peer_ip:
+        type: string
+        description: ip of ac1 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac1_route:
+        type: string
+        description: route configure of ac1, only for layer3 vpn
+        required: false
+      ac1_protocol:
+        type: string
+        description: routing protocol type of ac1, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        required: false
+      ac1_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac1, , only required for ebgp protocol
+        required: false
+      ac2_id:
+        type: string
+        description: id of attachment circuit2, it can be port name or uuid
+        required: false
+      ac2_svlan:
+        type: integer
+        description: ac2 svlan
+        required: false
+      ac2_ip:
+        type: string
+        description: ip of ac2, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_peer_ip:
+        type: string
+        description: ip of ac2 peer CE tp, only for layer3 vpn, it should contain mask
+        required: false
+      ac2_route:
+        type: string
+        description: route configure of ac2, only for layer3 vpn
+        required: false
+      ac2_protocol:
+        type: string
+        description: routing protocol type of ac2, only for layer3 vpn
+        constraints:
+        - valid_values:
+          - STATIC
+          - OSPF
+          - ISIS
+          - BGP
+          - other
+        default: STATIC
+        required: false
+      ac2_protocol_bgp_as:
+        type: string
+        description: autonomous-system number of ac2, , only required for ebgp protocol
+        required: false
+      af_type:
+        type: string
+        description: address family type
+        default: ipv4
+        required: false
+    requirements:
+    - virtualLink:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.network.Linkable
diff --git a/s3p/templates/pciVendorId/Definitions/policies.yml b/s3p/templates/pciVendorId/Definitions/policies.yml
new file mode 100644
index 0000000..6063d08
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/policies.yml
@@ -0,0 +1,134 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- data.yml
+policy_types:
+  tosca.policies.Root:
+    description: The TOSCA Policy Type all other TOSCA Policy Types derive from
+  tosca.policies.Placement:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes.
+  tosca.policies.Scaling:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes.
+  tosca.policies.Update:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes.
+  tosca.policies.Performance:
+    derived_from: tosca.policies.Root
+    description: The TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or groups of nodes.
+  org.openecomp.policies.placement.Antilocate:
+    derived_from: tosca.policies.Placement
+    description: My placement policy for separation based upon container type value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      container_type:
+        type: string
+        description: container type
+        required: false
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.Colocate:
+    derived_from: tosca.policies.Placement
+    description: Keep associated nodes (groups of nodes) based upon affinity value
+    properties:
+      name:
+        type: string
+        description: The name of the policy
+        required: false
+        status: SUPPORTED
+      affinity:
+        type: string
+        description: affinity
+        required: true
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - region
+          - compute
+  org.openecomp.policies.placement.valet.Diversity:
+    derived_from: tosca.policies.Placement
+    description: Valet Diversity
+    properties:
+      level:
+        type: string
+        description: diversity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Exclusivity:
+    derived_from: tosca.policies.Placement
+    description: Valet Exclusivity
+    properties:
+      level:
+        type: string
+        description: exclusivity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.placement.valet.Affinity:
+    derived_from: tosca.policies.Placement
+    description: Valet Affinity
+    properties:
+      level:
+        type: string
+        description: affinity
+        required: false
+        default: host
+        status: SUPPORTED
+        constraints:
+        - valid_values:
+          - host
+          - rack
+  org.openecomp.policies.scaling.Fixed:
+    derived_from: tosca.policies.Scaling
+    properties:
+      quantity:
+        description: the exact number of instances to keep up
+        type: integer
+        required: true
+  org.openecomp.policies.External:
+    derived_from: tosca.policies.Root
+    description: externally managed policy (for example, type="network assignment", source="Policy Manager", name="route target")
+    properties:
+      source:
+        type: string
+        description: The name of the server that exposes the policy with predefined type and name.
+        required: false
+      type:
+        type: string
+        description: The type (category) of the policy same as it is defined in the source.
+        required: false
+      name:
+        type: string
+        description: The name of the policy, that related to specific type, same as it is defined in the source.
+        required: false
diff --git a/s3p/templates/pciVendorId/Definitions/relationships.yml b/s3p/templates/pciVendorId/Definitions/relationships.yml
new file mode 100644
index 0000000..b1b554d
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/relationships.yml
@@ -0,0 +1,142 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- capabilities.yml
+- data.yml
+- interfaces.yml
+relationship_types:
+  tosca.relationships.Root:
+    description: This is the default (root) TOSCA Relationship Type definition that all other TOSCA Relationship Types derive from.
+    attributes:
+      tosca_id:
+        description: A unique identifier of the realized instance of a Relationship Template that derives from any TOSCA normative type.
+        type: string
+      tosca_name:
+        description: This attribute reflects the name of the Relationship Template as defined in the TOSCA service template. This name is not unique to the realized instance model of corresponding deployed application as each template in the model can result in one or more instances (e.g., scaled) when orchestrated to a provider environment.
+        type: string
+      state:
+        description: The state of the relationship instance.
+        type: string
+        default: initial
+    interfaces:
+      Configure:
+        type: tosca.interfaces.relationship.Configure
+  tosca.relationships.RoutesTo:
+    derived_from: tosca.relationships.ConnectsTo
+    description: This type represents an intentional network routing between two Endpoints in different networks.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+  tosca.relationships.network.LinksTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This relationship type represents an association relationship between Port and Network node types.
+    valid_target_types:
+    - tosca.capabilities.network.Linkable
+  tosca.relationships.AttachesTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents an attachment relationship between two nodes. For example, an AttachesTo relationship type would be used for attaching a storage node to a Compute node.
+    valid_target_types:
+    - tosca.capabilities.Attachment
+    properties:
+      location:
+        description: 'The relative location (e.g., path on the file system), which
+          provides the root location to address an attached node. e.g., a mount point
+          / path such as ''/usr/data''. Note: The user must provide it and it cannot
+          be "root".'
+        type: string
+        constraints:
+        - min_length: 1
+      device:
+        description: The logical device name which for the attached device (which is represented by the target node in the model). e.g., '/dev/hda1'.
+        type: string
+        required: false
+    attributes:
+      device:
+        description: 'The logical name of the device as exposed to the instance. Note:
+          A runtime property that gets set when the model gets instantiated by the
+          orchestrator.'
+        type: string
+  tosca.relationships.network.BindsTo:
+    derived_from: tosca.relationships.DependsOn
+    description: This type represents a network association relationship between Port and Compute node types.
+    valid_target_types:
+    - tosca.capabilities.network.Bindable
+  tosca.relationships.HostedOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a hosting relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Container
+  tosca.relationships.DependsOn:
+    derived_from: tosca.relationships.Root
+    description: This type represents a general dependency relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Node
+  tosca.relationships.ConnectsTo:
+    derived_from: tosca.relationships.Root
+    description: This type represents a network connection relationship between two nodes.
+    valid_target_types:
+    - tosca.capabilities.Endpoint
+    properties:
+      credential:
+        type: tosca.datatypes.Credential
+        required: false
+  org.openecomp.relationships.VolumeAttachesTo:
+    derived_from: org.openecomp.relationships.AttachesTo
+    description: This type represents an attachment relationship for associating volume
+    properties:
+      volume_id:
+        description: The ID of the volume to be attached
+        type: string
+        status: SUPPORTED
+        required: true
+      instance_uuid:
+        description: The ID of the server to which the volume attaches
+        type: string
+        status: SUPPORTED
+        required: true
+    attributes:
+      show:
+        description: Detailed information about resource
+        type: string
+        status: SUPPORTED
+  org.openecomp.relationships.AttachesTo:
+    derived_from: tosca.relationships.AttachesTo
+    description: This type represents an attachment relationship
+    properties:
+      location:
+        description: The relative location (e.g., path on the file system), which provides the root location to address an attached node.
+        type: string
+        status: SUPPORTED
+        required: false
+  org.openecomp.relationships.ForwardsTo:
+    derived_from: tosca.relationships.Root
+    valid_target_types:
+    - org.openecomp.capabilities.Forwarder
+  org.openecomp.relationships.AssignsTo:
+    derived_from: tosca.relationships.Root
+  org.openecomp.relationships.RoutesTo:
+    derived_from: tosca.relationships.RoutesTo
+    description: This type represents an intentional network routing between internal and external network
+  tosca.relationships.nfv.VirtualBindsTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualBindable
+  tosca.relationships.nfv.VirtualLinksTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualLinkable
+  tosca.relationships.nfv.Vdu.AttachedTo:
+    derived_from: tosca.relationships.DependsOn
+    valid_target_types:
+    - tosca.capabilities.nfv.VirtualStorage
diff --git a/s3p/templates/pciVendorId/Definitions/resource-VduCompute-template.yml b/s3p/templates/pciVendorId/Definitions/resource-VduCompute-template.yml
new file mode 100644
index 0000000..546f88a
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/resource-VduCompute-template.yml
@@ -0,0 +1,103 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+  UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+  name: VDU Compute
+  description: VDU Compute
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.Compute:
+    derived_from: tosca.nodes.Root
+    description: VDU Compute
+    properties:
+      configurable_properties:
+        type: map
+        entry_schema:
+          type: tosca.datatypes.nfv.VnfcConfigurableProperties
+      inject_files:
+        type: tosca.datatypes.nfv.injectFile
+      name:
+        type: string
+      nfvi_constraints:
+        type: map
+        entry_schema:
+          type: string
+      meta_data:
+        type: map
+        entry_schema:
+          type: string
+      description:
+        type: string
+      user_data:
+        type: string
+      boot_order:
+        type: map
+        entry_schema:
+          type: string
+      vdu_profile:
+        type: tosca.datatypes.nfv.VduProfile
+    capabilities:
+      virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
diff --git a/s3p/templates/pciVendorId/Definitions/resource-VduCp-template.yml b/s3p/templates/pciVendorId/Definitions/resource-VduCp-template.yml
new file mode 100644
index 0000000..ec26637
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/resource-VduCp-template.yml
@@ -0,0 +1,59 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+  UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+  name: VDU Cp
+  description: VDU Cp
+  type: CP
+  category: Generic
+  subcategory: Network Elements
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VduCp:
+    derived_from: tosca.nodes.nfv.Cp
+    description: VDU Cp
+    properties:
+      vnic_name:
+        type: string
+      virtual_network_interface_requirements:
+        type: list
+        entry_schema:
+          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+      bitrate_requirement:
+        type: integer
+      vnic_order:
+        type: integer
+      vnic_type:
+        type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/pciVendorId/Definitions/resource-VduVirtualstorage-template.yml b/s3p/templates/pciVendorId/Definitions/resource-VduVirtualstorage-template.yml
new file mode 100644
index 0000000..566f705
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/resource-VduVirtualstorage-template.yml
@@ -0,0 +1,50 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+  UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+  name: VDU VirtualStorage
+  description: VDU VirtualStorage
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.Vdu.VirtualStorage:
+    derived_from: tosca.nodes.Root
+    description: VDU VirtualStorage
+    properties:
+      vdu_storage_requirements:
+        type: map
+        entry_schema:
+          type: string
+      size_of_storage:
+        type: scalar-unit.size
+      rdma_enabled:
+        type: boolean
+      type_of_storage:
+        type: string
+    capabilities:
+      virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/pciVendorId/Definitions/resource-Vgw1181049-template-interface.yml b/s3p/templates/pciVendorId/Definitions/resource-Vgw1181049-template-interface.yml
new file mode 100644
index 0000000..93cb070
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/resource-Vgw1181049-template-interface.yml
@@ -0,0 +1,208 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.resource.vf.Vgw1181049:
+    derived_from: org.openecomp.resource.abstract.nodes.VF
+    properties:
+      nf_naming:
+        default:
+          ecomp_generated_naming: true
+        type: org.openecomp.datatypes.Naming
+        required: false
+      multi_stage_design:
+        default: false
+        type: boolean
+        required: false
+      nf_function:
+        type: string
+        required: false
+      nf_naming_code:
+        type: string
+        required: false
+      availability_zone_max_count:
+        default: 1
+        type: integer
+        required: false
+      nf_role:
+        type: string
+        required: false
+      min_instances:
+        type: integer
+        required: false
+      max_instances:
+        type: integer
+        required: false
+      nf_type:
+        type: string
+        required: false
+    capabilities:
+      vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+      vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+    requirements:
+    - llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/pciVendorId/Definitions/resource-Vgw1181049-template.yml b/s3p/templates/pciVendorId/Definitions/resource-Vgw1181049-template.yml
new file mode 100644
index 0000000..f5d3ef8
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/resource-Vgw1181049-template.yml
@@ -0,0 +1,289 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+  UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+  name: ##RANDOM_RESOURCE_NAME##
+  description: test
+  type: VF
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: vendor
+  resourceVendorRelease: '1.0'
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+- resource-VNF:
+    file: resource-Vnf-template.yml
+- resource-VnfVirtualLink:
+    file: resource-Vnfvirtuallink-template.yml
+- resource-VDU Cp:
+    file: resource-VduCp-template.yml
+- resource-VDU VirtualStorage:
+    file: resource-VduVirtualstorage-template.yml
+- resource-VDU Compute:
+    file: resource-VduCompute-template.yml
+topology_template:
+  inputs:
+    nf_naming:
+      default:
+        ecomp_generated_naming: true
+      type: org.openecomp.datatypes.Naming
+      required: false
+    multi_stage_design:
+      default: false
+      type: boolean
+      required: false
+    nf_function:
+      type: string
+      required: false
+    nf_naming_code:
+      type: string
+      required: false
+    availability_zone_max_count:
+      default: 1
+      type: integer
+      required: false
+    nf_role:
+      type: string
+      required: false
+    min_instances:
+      type: integer
+      required: false
+    max_instances:
+      type: integer
+      required: false
+    nf_type:
+      type: string
+      required: false
+  node_templates:
+    LLU_VNF:
+      type: tosca.nodes.nfv.VNF
+      metadata:
+        invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+        UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+        customizationUUID: 06bffc87-30c7-42ad-b99d-19c6c13405dc
+        version: '1.0'
+        name: VNF
+        description: VNF
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        descriptor_id: b1bb0ce7-2222-4fa7-95ed-4840d70a1177
+        provider: onap
+        vnfm_info:
+        - gvnfm
+        flavour_id: simple
+        descriptor_version: '1.0'
+        software_version: '1.0'
+        flavour_description: simple
+        product_name: vcpe_vgw
+    VL_mux_gw_private_net:
+      type: tosca.nodes.nfv.VnfVirtualLink
+      metadata:
+        invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+        UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+        customizationUUID: fbea54ef-8f8b-4f35-81d6-997a47282698
+        version: '1.0'
+        name: VnfVirtualLink
+        description: VnfVirtualLink
+        type: VL
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        vl_profile:
+          min_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          max_bit_rate_requirements:
+            root: 10000000
+            leaf: 10000000
+          networkName: mux_gw_private_net_id
+          cidr: 192.168.0.0/24
+          dhcpEnabled: false
+        connectivity_type:
+          layer_protocol: ipv4
+    VDU_vgw_0:
+      type: tosca.nodes.nfv.Vdu.Compute
+      metadata:
+        invariantUUID: 545f0f07-e4b4-483c-8976-87d6b2585976
+        UUID: 705026b1-0e14-4c4c-b203-9aa5002616a8
+        customizationUUID: 93c3f2e3-67e7-4bb4-be11-8a48df924c4c
+        version: '1.0'
+        name: VDU Compute
+        description: VDU Compute
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        configurable_properties:
+          additional_vnfc_configurable_properties: {
+            }
+        name: vdu_vgw_0
+        description: vgw
+        vdu_profile:
+          watchdog: none
+          min_number_of_instances: 1
+          max_number_of_instances: 1
+      requirements:
+      - virtual_storage:
+          capability: virtual_storage
+          node: VirtualStorage_root_all
+      capabilities:
+        virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+    VirtualStorage_root_all:
+      type: tosca.nodes.nfv.Vdu.VirtualStorage
+      metadata:
+        invariantUUID: a2b52b7f-dcc1-4ac9-9333-db87b5393841
+        UUID: e7153786-05ac-4911-a125-0560f7e62ec9
+        customizationUUID: dc20e1ad-aed9-4154-b2b4-3a702eee49a7
+        version: '1.0'
+        name: VDU VirtualStorage
+        description: VDU VirtualStorage
+        type: VFC
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        size_of_storage: 40 GB
+        type_of_storage: root
+    Cp_vgw_mux_gw_private_net:
+      type: tosca.nodes.nfv.VduCp
+      metadata:
+        invariantUUID: 05cfefb0-25e0-4aa6-a5c3-bb96a34372a0
+        UUID: 1da2c936-84df-4a98-a6aa-a53847cbebc9
+        customizationUUID: b5ff315f-effc-46e9-a0c5-aec1954845e0
+        version: '1.0'
+        name: VDU Cp
+        description: VDU Cp
+        type: CP
+        category: Generic
+        subcategory: Network Elements
+        resourceVendor: ATT (Tosca)
+        resourceVendorRelease: 1.0.0.wd03
+        resourceVendorModelNumber: ''
+      properties:
+        trunk_mode: false
+        protocol_data:
+        - asscociated_layer_protocol: ipv4
+          address_data:
+            address_type: ip_address
+            l3_address_data:
+              fixed_ip_address:
+              - 192.168.0.1
+              ip_address_assignment: false
+              floating_ip_activated: false
+        layer_protocol:
+        - ipv4
+        virtual_network_interface_requirements:
+        - name: "sriov-support"
+          support_mandatory: true
+          # Uncomment when POLICY-1254 fixed
+          #network_interface_requirements:
+          #  interfaceType: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform":"generic", "mandatory": "true", "configurationValue": "PCI-Passthrough"}'
+          nic_io_requirements:
+            logical_node_requirements:
+              pciVendorId: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform": "generic", "mandatory": "true", "configurationValue": "1234"}'
+      requirements:
+      - virtual_link:
+          capability: virtual_linkable
+          node: VL_mux_gw_private_net
+      - virtual_binding:
+          capability: virtual_binding
+          node: VDU_vgw_0
+  substitution_mappings:
+    node_type: org.openecomp.resource.vf.Vgw1181049
+    capabilities:
+      vl_mux_gw_private_net.feature:
+      - vl_mux_gw_private_net
+      - feature
+      cp_vgw_mux_gw_private_net.feature:
+      - cp_vgw_mux_gw_private_net
+      - feature
+      vdu_vgw_0.virtual_compute:
+      - vdu_vgw_0
+      - virtual_compute
+      vdu_vgw_0.virtual_binding:
+      - vdu_vgw_0
+      - virtual_binding
+      virtualstorage_root_all.virtual_storage:
+      - virtualstorage_root_all
+      - virtual_storage
+      llu_vnf.feature:
+      - llu_vnf
+      - feature
+      vl_mux_gw_private_net.virtual_linkable:
+      - vl_mux_gw_private_net
+      - virtual_linkable
+      vl_mux_gw_private_net.monitoring_parameter:
+      - vl_mux_gw_private_net
+      - monitoring_parameter
+      vdu_vgw_0.monitoring_parameter:
+      - vdu_vgw_0
+      - monitoring_parameter
+      virtualstorage_root_all.feature:
+      - virtualstorage_root_all
+      - feature
+      vdu_vgw_0.feature:
+      - vdu_vgw_0
+      - feature
+    requirements:
+      vdu_vgw_0.virtual_storage:
+      - vdu_vgw_0
+      - virtual_storage
+      vl_mux_gw_private_net.dependency:
+      - vl_mux_gw_private_net
+      - dependency
+      virtualstorage_root_all.dependency:
+      - virtualstorage_root_all
+      - dependency
+      vdu_vgw_0.dependency:
+      - vdu_vgw_0
+      - dependency
+      cp_vgw_mux_gw_private_net.virtual_binding:
+      - cp_vgw_mux_gw_private_net
+      - virtual_binding
+      cp_vgw_mux_gw_private_net.dependency:
+      - cp_vgw_mux_gw_private_net
+      - dependency
+      llu_vnf.dependency:
+      - llu_vnf
+      - dependency
+      llu_vnf.virtual_link:
+      - llu_vnf
+      - virtual_link
+      cp_vgw_mux_gw_private_net.virtual_link:
+      - cp_vgw_mux_gw_private_net
+      - virtual_link
diff --git a/s3p/templates/pciVendorId/Definitions/resource-Vnf-template.yml b/s3p/templates/pciVendorId/Definitions/resource-Vnf-template.yml
new file mode 100644
index 0000000..121aba2
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/resource-Vnf-template.yml
@@ -0,0 +1,70 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 7f6227f9-771a-4d25-86bb-2b3ba809e81c
+  UUID: d5c50615-de40-4a8a-a2a6-9eae9bd5b30f
+  name: VNF
+  description: VNF
+  type: VFC
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VNF:
+    derived_from: tosca.nodes.Root
+    description: VNF
+    properties:
+      configurable_properties:
+        type: tosca.datatypes.nfv.VnfConfigurableProperties
+      product_info_name:
+        type: string
+      default_localization_language:
+        type: string
+      flavour_id:
+        type: string
+      flavour_description:
+        type: string
+      product_name:
+        type: string
+      descriptor_id:
+        type: string
+      product_info_description:
+        type: string
+      provider:
+        type: string
+      descriptor_version:
+        type: string
+      vnfm_info:
+        type: list
+        entry_schema:
+          type: string
+      software_version:
+        type: string
+      localization_languages:
+        type: list
+        entry_schema:
+          type: string
+    requirements:
+    - virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
diff --git a/s3p/templates/pciVendorId/Definitions/resource-Vnfvirtuallink-template.yml b/s3p/templates/pciVendorId/Definitions/resource-Vnfvirtuallink-template.yml
new file mode 100644
index 0000000..d39b1b3
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/resource-Vnfvirtuallink-template.yml
@@ -0,0 +1,57 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: eb48e8b6-1ad6-48c1-91d2-f77c5792a624
+  UUID: 4ded12c9-0565-446a-82f6-eac26b0d4031
+  name: VnfVirtualLink
+  description: VnfVirtualLink
+  type: VL
+  category: Generic
+  subcategory: Infrastructure
+  resourceVendor: ATT (Tosca)
+  resourceVendorRelease: 1.0.0.wd03
+  resourceVendorModelNumber: ''
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  tosca.nodes.nfv.VnfVirtualLink:
+    derived_from: tosca.nodes.Root
+    description: VnfVirtualLink
+    properties:
+      vl_profile:
+        type: tosca.datatypes.nfv.VlProfile
+      description:
+        type: string
+      test_access:
+        type: list
+        entry_schema:
+          type: string
+      connectivity_type:
+        type: tosca.datatypes.nfv.ConnectivityType
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
diff --git a/s3p/templates/pciVendorId/Definitions/service-Testns8-template-interface.yml b/s3p/templates/pciVendorId/Definitions/service-Testns8-template-interface.yml
new file mode 100644
index 0000000..45fc306
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/service-Testns8-template-interface.yml
@@ -0,0 +1,176 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+node_types:
+  org.openecomp.service.Testns8:
+    derived_from: org.openecomp.resource.abstract.nodes.service
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+        type: tosca.capabilities.nfv.VirtualStorage
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.llu_vnf.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+        type: tosca.capabilities.nfv.Metric
+        occurrences:
+        - 0
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_binding:
+        type: tosca.capabilities.nfv.VirtualBindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.virtualstorage_root_all.feature:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+      vgw11810490.vdu_vgw_0.virtual_compute:
+        type: tosca.capabilities.nfv.VirtualCompute
+        occurrences:
+        - 1
+        - UNBOUNDED
+        valid_source_types: [
+          ]
+        properties:
+          virtual_memory:
+            type: tosca.datatypes.nfv.VirtualMemory
+            required: true
+          requested_additional_capabilities:
+            type: map
+            required: false
+            entry_schema:
+              type: tosca.datatypes.nfv.RequestedAdditionalCapability
+          logical_node:
+            type: tosca.datatypes.nfv.LogicalNodeData
+            required: false
+          virtual_cpu:
+            type: tosca.datatypes.nfv.VirtualCpu
+            required: true
+    requirements:
+    - vgw11810490.llu_vnf.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vl_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.virtualstorage_root_all.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.dependency:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+    - vgw11810490.vdu_vgw_0.virtual_storage:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualStorage
+        node: tosca.nodes.nfv.VDU.VirtualStorage
+        relationship: tosca.relationships.nfv.Vdu.AttachedTo
+    - vgw11810490.llu_vnf.virtual_link:
+        occurrences:
+        - 0
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualLinkable
+        node: tosca.nodes.nfv.VnfVirtualLink
+        relationship: tosca.relationships.nfv.VirtualLinksTo
+    - vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+        occurrences:
+        - 1
+        - UNBOUNDED
+        capability: tosca.capabilities.nfv.VirtualBindable
+        node: tosca.nodes.nfv.Vdu.Compute
+        relationship: tosca.relationships.nfv.VirtualBindsTo
diff --git a/s3p/templates/pciVendorId/Definitions/service-Testns8-template.yml b/s3p/templates/pciVendorId/Definitions/service-Testns8-template.yml
new file mode 100644
index 0000000..9d9bdc3
--- /dev/null
+++ b/s3p/templates/pciVendorId/Definitions/service-Testns8-template.yml
@@ -0,0 +1,135 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+metadata:
+  invariantUUID: 5be056bd-1ecd-4c14-9465-3bbc994190ee
+  UUID: 188ed3c6-1573-4b2d-9d3f-a03693bed79b
+  name: TestNs8
+  description: test
+  type: Service
+  category: Network Service
+  serviceType: ''
+  serviceRole: ''
+  instantiationType: A-la-carte
+  serviceEcompNaming: true
+  ecompGeneratedNaming: true
+  namingPolicy: ''
+  environmentContext: General_Revenue-Bearing
+imports:
+- nodes:
+    file: nodes.yml
+- datatypes:
+    file: data.yml
+- capabilities:
+    file: capabilities.yml
+- relationships:
+    file: relationships.yml
+- groups:
+    file: groups.yml
+- policies:
+    file: policies.yml
+- annotations:
+    file: annotations.yml
+- service-TestNs8-interface:
+    file: service-Testns8-template-interface.yml
+- resource-vgw1181049:
+    file: resource-Vgw1181049-template.yml
+- resource-vgw1181049-interface:
+    file: resource-Vgw1181049-template-interface.yml
+topology_template:
+  node_templates:
+    vgw1181049 0:
+      type: org.openecomp.resource.vf.Vgw1181049
+      metadata:
+        invariantUUID: b233407f-fe4e-474e-af23-5ddca98639b2
+        UUID: 9119a7bd-859b-46ae-825f-47aa7570220d
+        customizationUUID: 32efc3ac-6fd2-4cda-9f15-592e54f41560
+        version: '1.0'
+        name: ##RANDOM_RESOURCE_NAME##
+        description: test
+        type: VF
+        category: Generic
+        subcategory: Infrastructure
+        resourceVendor: vendor
+        resourceVendorRelease: '1.0'
+        resourceVendorModelNumber: ''
+      properties:
+        nf_naming:
+          ecomp_generated_naming: true
+        multi_stage_design: false
+        availability_zone_max_count: 1
+      capabilities:
+        vdu_vgw_0.virtual_compute:
+          properties:
+            virtual_memory:
+              virtual_mem_size: 4096 MB
+              vdu_memory_requirements:
+                numberOfPages: '{"schemaVersion": "0","schemaSelector": "","hardwarePlatform":
+                  "generic","mandatory": "true", "configurationValue": "1024"}'
+                memoryPageSize: '{"schemaVersion": "0", "schemaSelector": "", "hardwarePlatform":
+                  "generic", "mandatory": "true", "configurationValue": "2 MB"}'
+            virtual_cpu:
+              cpu_architecture: generic
+              num_virtual_cpu: 2
+  substitution_mappings:
+    node_type: org.openecomp.service.Testns8
+    capabilities:
+      vgw11810490.virtualstorage_root_all.virtual_storage:
+      - vgw11810490
+      - virtualstorage_root_all.virtual_storage
+      vgw11810490.llu_vnf.feature:
+      - vgw11810490
+      - llu_vnf.feature
+      vgw11810490.vdu_vgw_0.monitoring_parameter:
+      - vgw11810490
+      - vdu_vgw_0.monitoring_parameter
+      vgw11810490.vl_mux_gw_private_net.monitoring_parameter:
+      - vgw11810490
+      - vl_mux_gw_private_net.monitoring_parameter
+      vgw11810490.cp_vgw_mux_gw_private_net.feature:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.feature
+      vgw11810490.vl_mux_gw_private_net.feature:
+      - vgw11810490
+      - vl_mux_gw_private_net.feature
+      vgw11810490.vdu_vgw_0.feature:
+      - vgw11810490
+      - vdu_vgw_0.feature
+      vgw11810490.vl_mux_gw_private_net.virtual_linkable:
+      - vgw11810490
+      - vl_mux_gw_private_net.virtual_linkable
+      vgw11810490.vdu_vgw_0.virtual_binding:
+      - vgw11810490
+      - vdu_vgw_0.virtual_binding
+      vgw11810490.virtualstorage_root_all.feature:
+      - vgw11810490
+      - virtualstorage_root_all.feature
+      vgw11810490.vdu_vgw_0.virtual_compute:
+      - vgw11810490
+      - vdu_vgw_0.virtual_compute
+    requirements:
+      vgw11810490.vdu_vgw_0.virtual_storage:
+      - vgw11810490
+      - vdu_vgw_0.virtual_storage
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_link:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_link
+      vgw11810490.llu_vnf.dependency:
+      - vgw11810490
+      - llu_vnf.dependency
+      vgw11810490.virtualstorage_root_all.dependency:
+      - vgw11810490
+      - virtualstorage_root_all.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.dependency:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.dependency
+      vgw11810490.llu_vnf.virtual_link:
+      - vgw11810490
+      - llu_vnf.virtual_link
+      vgw11810490.vl_mux_gw_private_net.dependency:
+      - vgw11810490
+      - vl_mux_gw_private_net.dependency
+      vgw11810490.vdu_vgw_0.dependency:
+      - vgw11810490
+      - vdu_vgw_0.dependency
+      vgw11810490.cp_vgw_mux_gw_private_net.virtual_binding:
+      - vgw11810490
+      - cp_vgw_mux_gw_private_net.virtual_binding
diff --git a/s3p/templates/pciVendorId/TOSCA-Metadata/TOSCA.meta b/s3p/templates/pciVendorId/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000..e65ed50
--- /dev/null
+++ b/s3p/templates/pciVendorId/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,7 @@
+TOSCA-Meta-File-Version: 1.0
+CSAR-Version: 1.1
+Created-By: Carlos Santana
+Entry-Definitions: Definitions/service-Testns8-template.yml
+
+Name: csar.meta
+Content-Type: text/plain
diff --git a/s3p/templates/pciVendorId/csar.meta b/s3p/templates/pciVendorId/csar.meta
new file mode 100644
index 0000000..bc3359c
--- /dev/null
+++ b/s3p/templates/pciVendorId/csar.meta
@@ -0,0 +1,2 @@
+SDC-TOSCA-Meta-File-Version: 1.0
+SDC-TOSCA-Definitions-Version: 9.0