[SDC-29] catalog 1707 rebase commit.

Change-Id: I43c3dc5cf44abf5da817649bc738938a3e8388c1
Signed-off-by: Michael Lando <ml636r@att.com>
diff --git a/asdctool/src/main/resources/config/configuration.yaml b/asdctool/src/main/resources/config/configuration.yaml
index 294424f..d376ba3 100644
--- a/asdctool/src/main/resources/config/configuration.yaml
+++ b/asdctool/src/main/resources/config/configuration.yaml
@@ -8,7 +8,7 @@
 
 
 # catalog backend hostname
-beFqdn: sdccatalog
+beFqdn: sdccatalog.att.com
 
 # catalog backend http port
 beHttpPort: 8080
@@ -25,19 +25,36 @@
 version: 1.0
 released: 2012-11-30
 
-titanCfgFile: src/main/resources/config/titan.properties
+titanCfgFile: C:\Git_work\Git_UGN\d2-sdnc\asdctool\src\main\resources\config\titan.properties
+titanMigrationKeySpaceCfgFile: C:\Git_work\Git_UGN\d2-sdnc\asdctool\src\main\resources\config\titan-migration.properties
 titanInMemoryGraph: false
-titanLockTimeout: 30
+titanLockTimeout: 1800
 titanReconnectIntervalInSeconds: 3
 titanHealthCheckReadTimeout: 1
 esReconnectIntervalInSeconds: 3
 uebHealthCheckReconnectIntervalInSeconds: 15
 uebHealthCheckReadTimeout: 4
 
+
 # Protocols
 protocols:
    - http
    - https
+   
+# Default imports
+defaultImports:
+   - nodes:
+        file: nodes.yml
+   - datatypes:
+        file: data.yml
+   - capabilities:
+        file: capabilities.yml
+   - relationships:
+        file: relationships.yml
+   - groups:
+        file: groups.yml
+   - policies:
+        file: policies.yml
 
 # Users
 users:
@@ -93,6 +110,9 @@
    - AAI_VF_MODULE_MODEL
    - AAI_VF_INSTANCE_MODEL
    - OTHER
+   - SNMP_POLL
+   - SNMP_TRAP
+   - GUIDE
 
 licenseTypes:
    - User
@@ -105,24 +125,25 @@
   - CP
   - VL
   - VF
+  - VFCMT
  
 # validForResourceTypes usage
 #     validForResourceTypes:
 #        - VF
 #        - VL
 deploymentResourceArtifacts:
-  heat:
-      displayName: "Base HEAT Template"
-      type: HEAT
-      validForResourceTypes: *allResourceTypes
-  heatVol:
-      displayName: "Volume HEAT Template"
-      type: HEAT_VOL
-      validForResourceTypes: *allResourceTypes
-  heatNet:
-      displayName: "Network HEAT Template"
-      type: HEAT_NET
-      validForResourceTypes: *allResourceTypes
+#  heat:
+#      displayName: "Base HEAT Template"
+#      type: HEAT
+#      validForResourceTypes: *allResourceTypes
+#  heatVol:
+#      displayName: "Volume HEAT Template"
+#      type: HEAT_VOL
+#      validForResourceTypes: *allResourceTypes
+#  heatNet:
+#      displayName: "Network HEAT Template"
+#      type: HEAT_NET
+#      validForResourceTypes: *allResourceTypes
   
 deploymentResourceInstanceArtifacts:
   heatEnv:
@@ -130,6 +151,11 @@
       type: HEAT_ENV
       description: "Auto-generated HEAT Environment deployment artifact"
       fileExtension: "env"
+  VfHeatEnv:
+      displayName: "VF HEAT ENV"
+      type: HEAT_ENV
+      description: "VF Auto-generated HEAT Environment deployment artifact"
+      fileExtension: "env"
 
 #tosca artifacts placeholders
 toscaArtifacts:
@@ -144,6 +170,7 @@
       type: TOSCA_CSAR
       description: TOSCA definition package of the asset
 
+
 #Informational artifacts placeHolder
 excludeResourceCategory:
   - Generic
@@ -160,7 +187,7 @@
   testScripts:
       displayName: Test Scripts
       type: OTHER
-  cloudQuestionnaire:
+  CloudQuestionnaire:
       displayName: Cloud Questionnaire (completed)
       type: OTHER
   HEATTemplateFromVendor:
@@ -169,7 +196,7 @@
   resourceSecurityTemplate:
       displayName: Resource Security Template
       type: OTHER
- 
+            
 excludeServiceCategory:
 
 informationalServiceArtifacts:
@@ -247,6 +274,16 @@
     YANG_XML:
         acceptedTypes:
             - xml
+    VNF_CATALOG:
+        acceptedTypes:
+            - xml
+    MODEL_INVENTORY_PROFILE:
+        acceptedTypes:
+            - xml
+    MODEL_QUERY_SPEC:
+        acceptedTypes:
+            - xml
+#AAI Artifacts
     AAI_SERVICE_MODEL:
         acceptedTypes:
             - xml
@@ -264,17 +301,80 @@
         acceptedTypes:
             - yaml
             - yml
+        validForResourceTypes: *allResourceTypes
     HEAT_VOL:
         acceptedTypes:
             - yaml
             - yml
+        validForResourceTypes: *allResourceTypes
+    HEAT_NESTED:
+        acceptedTypes:
+            - yaml
+            - yml
+        validForResourceTypes: *allResourceTypes
+    HEAT_ARTIFACT:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
     HEAT_NET:
         acceptedTypes:
             - yaml
             - yml
+        validForResourceTypes: *allResourceTypes
     YANG_XML:
         acceptedTypes:
             - xml
+        validForResourceTypes: *allResourceTypes
+    VNF_CATALOG:
+        acceptedTypes:
+            - xml
+        validForResourceTypes: *allResourceTypes
+    VF_LICENSE:
+        acceptedTypes:
+            - xml
+        validForResourceTypes: *allResourceTypes
+    VENDOR_LICENSE:
+        acceptedTypes:
+            - xml
+        validForResourceTypes: *allResourceTypes
+    MODEL_INVENTORY_PROFILE:
+        acceptedTypes:
+            - xml
+        validForResourceTypes: *allResourceTypes
+    MODEL_QUERY_SPEC:
+        acceptedTypes:
+            - xml
+        validForResourceTypes: *allResourceTypes
+    #APPC Artifatcs
+    APPC_CONFIG:
+        acceptedTypes:
+        validForResourceTypes:
+            - VF
+    #DCAE Artifacts
+    DCAE_TOSCA:
+        acceptedTypes:
+            - yml
+            - yaml
+        validForResourceTypes:
+            - VF
+    DCAE_JSON:
+        acceptedTypes:
+            - json
+        validForResourceTypes:
+            - VF
+    DCAE_POLICY:
+        acceptedTypes:
+            - emf
+        validForResourceTypes:
+            - VF
+    DCAE_DOC:
+        acceptedTypes:
+        validForResourceTypes:
+            - VF        
+    DCAE_EVENT:
+        acceptedTypes:
+        validForResourceTypes:
+            - VF
+#AAI Artifacts
     AAI_VF_MODEL:
         acceptedTypes:
             - xml
@@ -284,24 +384,102 @@
         acceptedTypes:
             - xml
         validForResourceTypes:
-            - VF 
+            - VF
     OTHER:
         acceptedTypes:
-
+        validForResourceTypes: *allResourceTypes
+#MIB artifacts
+    SNMP_POLL:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    SNMP_TRAP:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+      
 resourceInstanceDeploymentArtifacts:
     HEAT_ENV:
         acceptedTypes:
             - env
+    VF_MODULES_METADATA:
+        acceptedTypes:
+            - json
+#DCAE_VF Instance Artifacts
+    DCAE_INVENTORY_TOSCA:
+        acceptedTypes:
+            - yml
+            - yaml
+    DCAE_INVENTORY_JSON:
+        acceptedTypes:
+            - json
+    DCAE_INVENTORY_POLICY:
+      acceptedTypes:
+            - emf
+    DCAE_INVENTORY_DOC:
+      acceptedTypes:
+    DCAE_INVENTORY_BLUEPRINT:
+      acceptedTypes:
+    DCAE_INVENTORY_EVENT:
+      acceptedTypes:
+#MIB artifacts
+    SNMP_POLL:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    SNMP_TRAP:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+      
+
+resourceInformationalArtifacts:
+    CHEF:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    PUPPET:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    SHELL:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    YANG:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    YANG_XML:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    HEAT:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    BPEL:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    DG_XML:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    MURANO_PKG:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    OTHER:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    SNMP_POLL:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    SNMP_TRAP:
+        acceptedTypes:
+        validForResourceTypes: *allResourceTypes
+    GUIDE:
+        acceptedTypes:
+        validForResourceTypes:
+            - VF
+            - VFC
+
 
 resourceInformationalDeployedArtifacts:
 
 
 requirementsToFulfillBeforeCert:
-     CP:
-       - tosca.capabilities.network.Bindable
-       
-capabilitiesToConsumeBeforeCert:
 
+capabilitiesToConsumeBeforeCert:
+            
 unLoggedUrls:
    - /sdc2/rest/healthCheck
 
@@ -312,6 +490,7 @@
        - Service
 
 artifactsIndex: resources
+
 cassandraConfig:
     cassandraHosts: ['localhost']
     localDataCenter:
@@ -326,36 +505,40 @@
         - { name: sdcaudit, replicationStrategy: SimpleStrategy, replicationInfo: ['1']}
         - { name: sdcartifact, replicationStrategy: SimpleStrategy, replicationInfo: ['1']}
         - { name: sdccomponent, replicationStrategy: SimpleStrategy, replicationInfo: ['1']}
-
-
+        
+       
 switchoverDetector:
-    gBeFqdn: 
-    gFeFqdn: 
-    beVip: 1.2.3.4
-    feVip: 1.2.3.4
+    gBeFqdn: AIO-BE.ecomp.idns.cip
+    gFeFqdn: AIO-FE.ecomp.idns.cip
+    beVip: 0.0.0.0
+    feVip: 0.0.0.0
     beResolveAttempts: 3
     feResolveAttempts: 3
     enabled: false
     interval: 60
     changePriorityUser: ecompasdc
     changePriorityPassword: ecompasdc123
-    publishNetworkUrl: 
+    publishNetworkUrl: "http://xxxxxx.com/crt/CipDomain.ECOMP-ASDC-DEVST/config/update_network?user=root"
     publishNetworkBody: '{"note":"publish network"}'
     groups:
-      beSet: { changePriorityUrl: "http://localhost/",
-               changePriorityBody: '{"name":"AIO-BE.ecomp.idns.cip","uri":"/crt/CipDomain.ECOMP-ASDC-DEVST/config/sites/AIO-BE.ecomp.idns.cip","no_ad_redirection":false,"v4groups":{"failover_groups":["/crt/CipDomain.ECOMP-ASDC-DEVST/config/groups/group_mg_be","/crt/CipDomain.ECOMP-ASDC-DEVST/config/groups/group_bs_be"],"failover_policy":["FAILALL"]},"comment":"AIO BE G-fqdn","intended_app_proto":"DNS"}'}
-      feSet: { changePriorityUrl: "http://localhost/",
-               changePriorityBody: '{"comment":"AIO G-fqdn","name":"AIO-FE.ecomp.idns.cip","v4groups":{"failover_groups":["/crt/CipDomain.ECOMP-ASDC-DEVST/config/groups/group_mg_fe","/crt/CipDomain.ECOMP-ASDC-DEVST/config/groups/group_bs_fe"],"failover_policy":["FAILALL"]},"no_ad_redirection":false,"intended_app_proto":"DNS","uri":"/crt/CipDomain.ECOMP-ASDC-DEVST/config/sites/AIO-FE.ecomp.idns.cip.att.com"}'}
+      beSet: { changePriorityUrl: "http://xxxxxxx.com/crt/CipDomain.ECOMP-ASDC-DEVST/config/sites/AIO-BE.ecomp.idns.com?user=root",
+               changePriorityBody: '{"name":"AIO-BE.ecomp.idns.com","uri":"/crt/CipDomain.ECOMP-ASDC-DEVST/config/sites/AIO-BE.ecomp.idns.com","no_ad_redirection":false,"v4groups":{"failover_groups":["/crt/CipDomain.ECOMP-ASDC-DEVST/config/groups/group_mg_be","/crt/CipDomain.ECOMP-ASDC-DEVST/config/groups/group_bs_be"],"failover_policy":["FAILALL"]},"comment":"AIO BE G-fqdn","intended_app_proto":"DNS"}'}
+      feSet: { changePriorityUrl: "http://cora.web.att.com/crt/CipDomain.ECOMP-ASDC-DEVST/config/sites/AIO-FE.ecomp.idns.cip.att.com?user=root",
+               changePriorityBody: '{"comment":"AIO G-fqdn","name":"AIO-FE.ecomp.idns.com","v4groups":{"failover_groups":["/crt/CipDomain.ECOMP-ASDC-DEVST/config/groups/group_mg_fe","/crt/CipDomain.ECOMP-ASDC-DEVST/config/groups/group_bs_fe"],"failover_policy":["FAILALL"]},"no_ad_redirection":false,"intended_app_proto":"DNS","uri":"/crt/CipDomain.ECOMP-ASDC-DEVST/config/sites/AIO-FE.ecomp.idns.com"}'}
     
+       
+heatEnvArtifactHeader: ""
+heatEnvArtifactFooter: ""
 
-heatEnvArtifactHeader:
-    ""
-heatEnvArtifactFooter:
-    ""
-
+onboarding:
+    protocol: http
+    host: localhost
+    port: 8080
+    downloadCsarUri: "/onboarding-api/v1.0/vendor-software-products/packages"
+   
 applicationL1Cache:
     datatypes:
-        enabled: false
+        enabled: true
         firstRunDelay: 10
         pollIntervalInSec: 60
 
@@ -367,10 +550,25 @@
         servicesSizeInCache: 200
         productsSizeInCache: 100
     queue:
-        syncIntervalInSecondes: 60
-        waitOnShutDownInMinutes: 30
+        syncIntervalInSecondes: 43200
+        waitOnShutDownInMinutes: 10
         numberOfCacheWorkers: 4
 
 toscaValidators:
-    stringMaxLength: 1024
-disableAudit: true
\ No newline at end of file
+    stringMaxLength: 65536
+disableAudit: false
+
+vfModuleProperties:
+    min_vf_module_instances:
+        forBaseModule: 1
+        forNonBaseModule: 0
+    max_vf_module_instances:
+        forBaseModule: 1
+        forNonBaseModule:
+    initial_count:
+        forBaseModule: 1
+        forNonBaseModule: 0
+    vf_module_type:
+        forBaseModule: Base
+        forNonBaseModule: Expansion
+        
\ No newline at end of file
diff --git a/asdctool/src/main/resources/config/dataTypes.yml b/asdctool/src/main/resources/config/dataTypes.yml
new file mode 100644
index 0000000..43c7f0c
--- /dev/null
+++ b/asdctool/src/main/resources/config/dataTypes.yml
@@ -0,0 +1,1123 @@
+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
+
+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
+
+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 ]
+
+###################new Data Types Onboarding Integration##########################
+
+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
+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.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 AT&T 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.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
+
+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"]
+      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
+      constraints:
+        - valid_values: [4,6]
+      required: true
+      description: 
+    ip_count:
+      type: integer
+      required: true
+      description: identifies the number of ip address to assign to the CP from the plan
+    floating_ip_count:
+      type: integer
+      required: false
+    subnet_role:
+      type: string
+      required: false
+    assingment_method:
+      type: string
+      constraints:
+        - valid_values: ["fixed", "dhcp"]
+      required: true
+      description:
+
+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:
+      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.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
\ No newline at end of file
diff --git a/asdctool/src/main/resources/config/error-configuration.yaml b/asdctool/src/main/resources/config/error-configuration.yaml
index 5e5009e..d33876a 100644
--- a/asdctool/src/main/resources/config/error-configuration.yaml
+++ b/asdctool/src/main/resources/config/error-configuration.yaml
@@ -94,17 +94,17 @@
         messageId: "SVC4007"
     }
 #---------SVC4008----------------------------- 
-# %1 - Users's userId     
+# %1 - Users's USER_ID     
     INVALID_USER_ID: {
         code: 400,
-        message: "Error: Invalid userId '%1'.",
+        message: "Error: Invalid USER_ID '%1'.",
         messageId: "SVC4008"
     }
 #---------SVC4049------------------------------ 
 # %1 - service/resource
     COMPONENT_MISSING_CONTACT: {
         code: 400,
-        message: "Error: Invalid Content. Missing %1 contact id.",
+        message: "Error: Invalid Content. Missing %1 Contact Id.",
         messageId: "SVC4049"
     } 
 #---------SVC4050----------------------------- 
@@ -245,9 +245,9 @@
 
 #---------SVC4069------------------------------ 
 # %1 - Service/Resource/Product
-    COMPONENT_INVALID_CONTACT_ID: {
+    COMPONENT_INVALID_CONTACT: {
         code: 400,
-        message: "Error: Invalid Content. %1 contact id should be in format 'mnnnnnn' or 'aannna' or 'aannnn', where m=m ,a=a-zA-Z and n=0-9",
+        message: "Error: Invalid Content. %1 Contact Id should be in format 'mnnnnnn' or 'aannna' or 'aannnn', where m=m ,a=a-zA-Z and n=0-9",
         messageId: "SVC4069"
     }
 #---------SVC4070------------------------------ 
@@ -511,7 +511,7 @@
 #-----------SVC4130---------------------------
     INVALID_PROJECT_CODE: {
         code: 400,
-        message: "Error: Invalid Content. PROJECT_CODE number must be numeric from 5 up to 10 digits.",
+        message: "Error: Invalid Content. PROJECT_CODE must be from 3 up to 50 characters.",
         messageId: "SVC4130"
     }
 #-----------SVC4131---------------------------
@@ -1060,7 +1060,7 @@
         messageId: "SVC4567"
     }
 #---------SVC4567------------------------------ 
-# %1 - "User Name and UserId"   
+# %1 - "User Name and USER_ID"   
 # %2  -"checked-out"/"in-certification"
     CANNOT_DELETE_USER_WITH_ACTIVE_ELEMENTS: {
         code: 409,
@@ -1068,7 +1068,7 @@
         messageId: "SVC4567"
     }
 #---------SVC4568------------------------------ 
-# %1 - "User Name and UserId"   
+# %1 - "User Name and USER_ID"   
 # %2  -"checked-out"/"in-certification"
     CANNOT_UPDATE_USER_WITH_ACTIVE_ELEMENTS: {
         code: 409,
@@ -1144,7 +1144,7 @@
         messageId: "SVC4580"
     }
 #---------SVC4581------------------------------ 
-# %1 - userId
+# %1 - USER_ID
     INVALID_PRODUCT_CONTACT: {
         code: 400,
         message: "Error: Invalid content. User '%1' cannot be set as Product Contact.",
diff --git a/asdctool/src/main/resources/config/groupTypes.yml b/asdctool/src/main/resources/config/groupTypes.yml
new file mode 100644
index 0000000..c72dc88
--- /dev/null
+++ b/asdctool/src/main/resources/config/groupTypes.yml
@@ -0,0 +1,72 @@
+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.
+      
+tosca.groups.Root:
+  description: The TOSCA Group Type all other TOSCA Group Types derive from
+  interfaces: 
+    Standard:
+      type: tosca.interfaces.node.lifecycle.Standard
+
diff --git a/asdctool/src/main/resources/config/logback.xml b/asdctool/src/main/resources/config/logback.xml
index 298587b..87795ae 100644
--- a/asdctool/src/main/resources/config/logback.xml
+++ b/asdctool/src/main/resources/config/logback.xml
@@ -36,9 +36,9 @@
 		</encoder>
 	</appender>
 
-	<root level="DEBUG">
+	<root level="INFO">
 		<appender-ref ref="DEBUG_ROLLING" />
 	</root>
-	<logger name="org.openecomp.sdc" level="DEBUG" />
+	<logger name="org.openecomp.sdc" level="INFO" />
 
 </configuration>
\ No newline at end of file
diff --git a/asdctool/src/main/resources/config/titan-migration.properties b/asdctool/src/main/resources/config/titan-migration.properties
new file mode 100644
index 0000000..e982c2d
--- /dev/null
+++ b/asdctool/src/main/resources/config/titan-migration.properties
@@ -0,0 +1,4 @@
+storage.backend=cassandra
+storage.hostname=localhost
+storage.port=9160
+storage.cassandra.keyspace=sdctitan
diff --git a/asdctool/src/main/resources/config/titan.properties b/asdctool/src/main/resources/config/titan.properties
index bfb0ebc..e9daff7 100644
--- a/asdctool/src/main/resources/config/titan.properties
+++ b/asdctool/src/main/resources/config/titan.properties
@@ -1,3 +1,4 @@
 storage.backend=cassandra
 storage.hostname=localhost
 storage.port=9160
+storage.cassandra.keyspace=titan
\ No newline at end of file
diff --git a/asdctool/src/main/resources/scripts/dataMigration.sh b/asdctool/src/main/resources/scripts/dataMigration.sh
index b05c6dc..e1f4f24 100644
--- a/asdctool/src/main/resources/scripts/dataMigration.sh
+++ b/asdctool/src/main/resources/scripts/dataMigration.sh
@@ -5,7 +5,7 @@
 ##############################
 
 CURRENT_DIR=`pwd`
-BASEDIR=$(dirname $0)
+BASEDIR=$(dirname $1)
 
 if [ ${BASEDIR:0:1} = "/" ]
 then
@@ -18,8 +18,31 @@
 
 mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
 
-command="java $JVM_LOG_FILE -cp $JARS $mainClass migrate-1602-1604 $@"
-echo $command
+case  $1 in
+	1604) 
+		command="java $JVM_LOG_FILE -cp $JARS $mainClass migrate-1602-1604 $@"
+		echo $command
+		;;
+	1607)
+		command="sh ./dataMigration1607.sh $@"
+		echo $command
+		;;
+	1610)
+		command="sh ./dataMigration1610.sh $@"
+		echo $command
+		;;
+	1702)
+		command="sh ./dataMigration1702.sh $@"
+		echo $command
+		;;
+	1707)
+    	command="sh ./dataMigration1707.sh $@"
+        echo $command
+        ;;
+	*)
+		echo "No migration for this version $1"
+		;;
+esac
 
 $command
 result=$?
diff --git a/asdctool/src/main/resources/scripts/dataMigration1702.sh b/asdctool/src/main/resources/scripts/dataMigration1702.sh
new file mode 100644
index 0000000..f2bf56e
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/dataMigration1702.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+##############################
+# Data Migration 1702
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass migrate-1610-1702 $@"
+echo $command
+
+$command
+result=$?
+
+
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/dataMigration1707.sh b/asdctool/src/main/resources/scripts/dataMigration1707.sh
new file mode 100644
index 0000000..e67de2a
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/dataMigration1707.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+##############################
+# Data Migration 1707
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass migrate-1702-1707 $@"
+echo $command
+
+$command
+result=$?
+
+
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/sdcSchemaFileImport.sh b/asdctool/src/main/resources/scripts/sdcSchemaFileImport.sh
new file mode 100644
index 0000000..4002e38
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/sdcSchemaFileImport.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+#   Sdc Schema File Import   #
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.SdcSchemaFileImport"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/titanSchemaCreation.sh b/asdctool/src/main/resources/scripts/titanSchemaCreation.sh
new file mode 100644
index 0000000..8a2488b
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/titanSchemaCreation.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Titan Schema Creation
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.DataSchemaMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass create-titan-structures $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/vfModulePropertiesAdding.sh b/asdctool/src/main/resources/scripts/vfModulePropertiesAdding.sh
new file mode 100644
index 0000000..1ead248
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/vfModulePropertiesAdding.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Data Migration: Adding new properties to vfModules
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass vfModules-properties-adding $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+